草庐IT

test-Info

全部标签

testing - 为 Moya 请求编写单元测试

我想开始为我的所有Moya请求编写测试用例。如何测试从Swift生成的简单Moya.get请求? 最佳答案 这就是我使用Moya进行单元测试的方式。我的NetworkManager发出所有请求,init带有默认参数(用于生产代码),因此我们可以在测试时指定不同的提供程序。classNetworkManager{privateletprovider:MoyaProviderinit(provider:MoyaProvider=MoyaProvider()){self.provider=provider}funccreateUser(_

ios - swift in UI test(测试UITableView中cell的个数)

我是UI测试的新手。我的Storyboard中有一个UITableView,它包含一些单元格。更新:我想断言当应用程序启动时UITableView中的单元格数量将超过0。但我不知道如何编写这部分代码。使用NSPredicate?还是其他人?functestCellsNum(){letapp=XCUIApplication()lettableCell=app.tableRows.count//ThenwhatshouldIdo?XCTAssertGreaterThan(tableCell,0,"shouldgreaterthan0")//thislinedoesn'twork}

swift - iOS Today Extension 可以从应用程序的 Info.plist 中读取 URL 方案吗

我们有我们的应用程序目标,并且在该Info.plist中,我们定义了可用于使用URL打开应用程序的URL方案。现在我们要添加今天的扩展。我们希望有一个TableView,它将从扩展程序中打开该URL。我们会看到API是如何支持它的。我们能否从应用程序的Info.plist中获取URL方案,或者我们是否基本上“硬编码”扩展中的值以调用它打开? 最佳答案 要获取infos.plist值,您可以使用:leturlTypesArray=NSBundle.mainBundle().objectForInfoDictionaryKey("CFB

unit-testing - 如何为 Swift 设置单元测试?

我觉得尝试掌握单元测试/Swift是明智的。我查看了WWDC的Objective-C版本并且非常了解Objective-C范例:导入单元测试所依赖的header等。单元测试未知“fetchFlickrPhotoWithSearch()”。所以...由于单元测试模块/目标超出了应用程序目标的范围,我假设我需要导入具有我希望测试的功能的特定Swift文件(类似于Objective-C的header范例)。但是编译器将此导入标记为“没有这样的模块...”那么...如何使单元测试可用我的SwiftAPI? 最佳答案 SteveRosenbe

ios - info.plist 包显示名称本地化

这方面的帖子很多,但似乎都是过时的方法?它似乎是使用info.plist并向其添加本地化完成的,然后为每种语言创建了更多info.plist文件。它似乎可以正常工作,但无论我使用哪种系统语言,它只会显示英文Bundle显示名称。不知道还需要做什么。我在模拟器和设备上都检查过了。 最佳答案 您需要创建“InfoPlist.strings”并在其中添加您想要支持的语言,然后为每种语言设置您的包名称和显示名称如下"CFBundleDisplayName"="AppName";"CFBundleName"="AppName";如何启用本地化

ios - 检测到 Firebase 模式。应用程序包中的警告 : unable to find GoogleService-Info. plist,将不会上传 dSYM

我已经在FirebaseDashboard上设置了所有这些步骤和bundleid,并多次尝试崩溃但没有收到任何报告。pod'织物','~>1.7.6'pod'Crashlytics','~>3.10.1'在构建阶段添加了运行脚本:"${PODS_ROOT}/Fabric/run"调试信息格式:带dSYM文件的DWARF按照以下步骤在模拟器中运行(IBAction)crashButtonTapped:(id)sender{[[CrashlyticssharedInstance]崩溃];点击play_arrowBuild,然后在Xcode中运行当前方案以在设备或模拟器上构建您的应用。单击停

ios - target 指定产品类型 'com.apple.product-type.bundle.ui-testing' ,但是 'iphonesimulator' 平台没有这样的产品类型

当我运行我的swift项目时,我得到了这个错误。targetspecifiesproducttype'com.apple.product-type.bundle.ui-testing',butthere'snosuchproducttypeforthe'iphonesimulator'platform我在SO上发现了一些类似的问题,但是this答案没有解决我的问题。我googled它也是,里面没有这个产品类型的项目。我正在使用xcode6.4和swift1.2 最佳答案 在使用Xcode7Beta添加用于UI测试的产品并不断在Xco

unit-testing - Swift、访问修饰符和单元测试

我刚刚升级到Xcode6beta4,Swift编译器现在支持accessmodifiers.这给我带来了问题,因为我的单元测试现在无法编译(由于类未公开)。简单的解决方案当然是将所有测试的类公开,但这感觉像是hack(我个人的偏好是即使在非公开类上也编写单元测试)。在.NET和Java中,您通常可以允许单元测试程序集级别(或Java/OSGi中的捆绑级别)从单元测试程序集访问被测程序集。我不明白如何在Swift中做类似的事情。我真的必须公开我的所有类(class)才能对其进行单元测试吗? 最佳答案 这是一个已知问题,在Beta4发行

ios - 转换为 Swift 3 错误 : "Convert to Current Swift Syntax Failed Could not find test host for..."

当我尝试运行在升级到Xcode8之前完美运行的项目时,我不断收到错误“UseLegacySwiftLanguageVersion”(SWIFT_VERSION)isrequiredtobeconfiguredcorrectlyfortargetswhichuseSwift.Usethe[Edit>Convert>ToCurrentSwiftSyntax…]menutochooseaSwiftversionorusetheBuildSettingseditortoconfigurethebuildsettingdirectly.尝试转换为swift3.0后,我不断收到错误消息:Conve

Java 单元测试 : the easiest way to test if a callback is invoked

我经常使用接受回调的方法,而回调似乎有点难以测试。让我们考虑以下场景,如果有一个方法接受单个方法的回调(为简单起见,我假设测试方法是同步的),可以编写以下样板文件以确保调用回调方法:@TestpublicvoidtestMethod(){finalboolean[]passed={false};method(newCallback(){@Overridepublicvoidhandle(booleanisSuccessful){passed[0]=isSuccessful;}});assertTrue(passed[0]);}它看起来像一个代理人。我想知道:是否有更优雅的方法来测试这样