草庐IT

ios - XCTest 期望使用 swift 调用方法

如何使用swift和XCTest编写需要方法调用的测试?我可以使用OCMock,但他们不正式支持swift,所以没有太多选择。 最佳答案 正如您所说,OCMock不支持Swift(也不支持OCMockito),所以目前我看到的唯一方法是创建一个手动模拟。在swift中,这有点不那么痛苦,因为您可以在方法中创建内部类,但仍然不如模拟框架方便。这里有一个例子。代码是不言自明的,我唯一要做的事情(见下面的编辑1)就是将我想在测试中使用的类和方法声明为公共(public)的(似乎测试类不属于同一个应用程序的代码模块-将尝试找到解决方案。编辑

ios - 无法为 'XCTest' 加载底层模块

每次我开始运行我的应用程序,或者我刚刚启动Xcode时,我都会收到此错误:我认为问题在于我不知道我的.xctest文件在哪里。我想我可能删除了它们。如果你们中有人能帮助我,那就太好了!也许告诉我如何恢复这些文件,制作一些新文件或其他东西。 最佳答案 您不小心将您的Xcode单元测试文件之一添加到了您的主要应用程序目标。删除它:选择测试文件打开右侧面板选择身份和类型标签取消选择您的应用目标(不是单元测试乐高图标)提示:下次添加新的单元测试时,只需将其添加到单元测试目标即可。如果您不小心包含了您的任何应用程序目标,它们将没有可用的XCT

ios - 是否可以在 iOS 应用程序中运行 XCTest 测试?

我们有一个用XCTest编写的后端测试套件。该套件在Xcode中运行良好,但出于各种原因,如果我们也可以在iOS应用程序中运行该套件,那对我们来说会很好。那可能吗?我不介意为它写一些胶水代码,但实际上我什至不能在非测试目标中导入XCTest框架:SomeController.swift:2:8:Cannotloadunderlyingmodulefor'XCTest' 最佳答案 这是可能的!关键是获取XCTest框架链接的副本,然后使用公共(public)XCTestAPI运行您的测试。这将为您提供与通过Xcode运行测试时看到的相

ios - 为 AWS Device Farm 构建 XCTest UI 测试

我正在尝试将我们的iOSXCUITests设置为在AWSDeviceFarm上运行,但似乎无论我如何构建和上传它们,测试都不会运行。它们在XCode本地运行时执行并通过,但不在AWSDeviceFarm上运行。我已经设置了我能设法隔离此问题的绝对最简单的应用程序。它由带有单个标签的单个View和验证标签是否存在的UI测试组成。这是AWSDeviceFarm界面中出现的错误。深入研究日志文件揭示了这一点(在“应用程序输出”日志文件中):2016-04-0319:07:39.842XCTRunner[195:28521]Runningtests...2016-04-0319:07:39.8

ios - Xcode 7.0 XCTest dyld : could not load inserted library IDEBundleInjection

我正在我的iOS项目上运行单元测试,当它运行时,它崩溃并吐出:dyld:couldnotloadinsertedlibrary'/private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection'becausenosuitableimagefound.Didfind:/private/var/mobile/Containers/Data/Application/1CAB64C8-D7

ios - 加载 XCTest 时出错,找不到合适的图像。

我最近更新了我的Xcode并开始出现此错误。2014-11-0315:03:54.222App[13141:60b]Errorloading/private/var/mobile/Applications/677127BD-5230-4D5F-B70E-AF728439D34B/tmp/AppTests.xctest/AppTests:dlopen(/private/var/mobile/Applications/677127BD-5230-4D5F-B70E-AF728439D34B/tmp/AppTests.xctest/AppTests,262):nosuitableimagef

ios - 在 Xcode 6 中使用 XCTest 订购单元测试

我想知道是否有任何方法可以告诉Xcode按指定顺序运行单元测试。我的意思是不在同一个XCTestCase类文件中,而是在所有类文件之间。例如,我想在运行SitchozrSDKMessageTest之前运行SitchozrSDKSessionTest。我查看了堆栈上的几个线程或Apple文档,但没有找到有用的东西。感谢您的帮助。 最佳答案 全部按字母顺序排序(类和方法)。因此,当您需要最后运行一些测试时,只需更改类或方法的名称(对于(讨厌的)示例,通过前缀“z_”)。所以...你有类名:MyAppTest1-testMethodA-t

ios - Xcode 6 中的 XCTest 和异步测试

所以Apple在Xcode6的releasenote中说我们现在可以直接用XCTest做异步测试了。有谁知道如何使用Xcode6Beta3(使用objective-C或Swift)做到这一点?我不想要已知的信号量方法,而是新的Apple方式。我搜索了已发布的笔记等,但一无所获。XCTestheader也不是很明确。 最佳答案 Obj-C示例:-(void)testAsyncMethod{//ExpectationXCTestExpectation*expectation=[selfexpectationWithDescription

ios - NSURL 到带有 XCTest 的测试包中的文件路径

我正在尝试使用TDD和新的XCTest框架编写一个iOS应用程序。我的方法之一是从Internet检索文件(给定NSURL对象)并将其存储在用户的文档中。该方法的签名类似于:-(void)fetchAndStoreImage:(NSURL*)imageUrl我正在尝试以一种即使没有互联网连接也不会失败的方式编写此方法的测试。我的方法(取自之前的question)是使用NSURL调用本地文件系统中图像的方法。当创建一个启用了单元测试的新项目时,Tests目录有一个名为“SupportingFiles”的子目录。我想那是我的测试图像应该去的地方。我的问题是如何获得指向此目录中图像的NSUR

xcode - XCTest'ing 一个元组

我正在尝试构建这样的单元测试://regionisa(Double,Double)tupleXCTAssertEqual(region,(0.0,200.0))但是Xcode给我一个错误:Cannotinvoke'XCTAssertEqual'withanargumentlistoftype((Double,Double),(Double,Double))有没有不同的方法可以在不提取元组成员并单独测试的情况下测试元组? 最佳答案 XCTAssertEqual要求传递给它的两个参数是Equatable,从方法签名可以看出。请注意,ex