我正在使用Xcode5,现在刚刚开始对现有项目进行单元测试,为此我将CocoaTouchUnitTestingBundle作为目标(目标名称为:MyAppTests)添加到我的项目中。我之前使用CocoaPods添加了AFNetworking库,而我在运行测试用例时遇到错误AFNetworking.h文件未找到。我在Tests.m中添加了AFNetworking.h,但问题仍然存在。是否有任何其他设置可以将Pod包含到我的测试目标中?? 最佳答案 终于找到解决办法了。选择项目的info然后选择Configuration选择下拉列表D
我正在尝试编写一个测试套接字连接的XCTest。这是我的连接代码大致的样子:publicclassMyConnection:NSObject,NSStreamDelegate{privateletqueue=NSOperationQueue()privatevarinputStream:NSInputStream!privatevaroutputStream:NSOutputStream!publicfuncconnect(){println("Attemptingtoconnect")queue.addOperationWithBlock(){varreadStream:Unmana
如果构建被认为无效(过时等),我的iOSSwift应用程序中的某个函数将退出该应用程序。如何使用XCTest确定应用程序是否已成功退出并将模拟器返回到主屏幕?我已经尝试过像这样显而易见的方法XCTAssertFalse(XCUIApplication().exists,"appshouldhavequit")和XCTAssertFalse(XCUIApplication().enabled,"appshouldhavequit")如果我尝试对XCUIApplication执行任何操作,它就会挂起。 最佳答案 您可以在NSNotifi
我目前正在为我遇到的一个错误编写测试,其中生产代码中的调用顺序不正确,导致潜在的竞争条件。使用XCTest检查测试代码调用顺序的最简洁方法是什么?在OCMock/Objective-C中,我们有setExpectationOrderMatters,根据thisquestion.但是,由于动态/静态语言差异,我不知道XCTest/Swift中是否有类似的功能可用。 最佳答案 假设我们想模拟这个协议(protocol):protocolThing{funcmethodA()funcmethodB()}这是一个不仅记录各个方法的调用次数的
我觉得我有一个很常见的问题,但不知何故错过了关于最佳实践的备忘录。我想弄清楚如何在XCTest中嵌套异步调用。我正在尝试通过基于Alamofire的RESTAPI测试/清理XCTest中的一些记录。我首先执行get,然后当完成处理程序触发时,我试图遍历返回的记录,对每个记录调用异步删除。第一个/明显的问题是,如果我使用XCTest期望值,我会得到一个错误,因为我必须在初始外部GET之后等待,然后尝试必须等待后续的删除调用,所以我无法创建期望值DELETE,因为我正在等待获取完成:funcdeleteAllFoos(){letexpectation=expectationWithDesc
我正在为我的项目编写测试用例,该项目混合了ObjectiveC和Swift代码。我知道OCMock框架,我以前使用它来模拟/stub以在ObjectiveC中编写测试用例。但是我搜索了一下,发现它并不完全支持swift,因为它是基于ObjectiveC运行时的。我正在尝试用快速语言编写测试用例。有什么办法可以对服务级别层进行模拟/stub。例如。funcgetPersonData(id:String,success:(ReponseEnum)->Void,failure:(error:NSError)->Void){letrequestPara:NSDictionary=["id":i
我很困惑,一直找不到任何答案。我的测试目标中有一个TestClass。我将一个名为test.csv的文件放入此目标并在磁盘上将其存储在与所有其他文件相同的目录中。加载文件需要哪3行代码?letbundle=NSBundle.mainBundle()给我这个目录:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Agents里面似乎什么都没有. 最佳答案 哦,我想通了:NSBundl
这是我尝试在终端窗口中输入poprint(XCUIApplication().debugDescription)时打印应用程序的元素结构时的示例tables,(addresscodelike0x00006b),traits:(somerandomnumber)cells,(addresscode),traits:(randomnumber)others,(addresscode),traits:(randomnumber),label:"OtherValue"buttons,(addresscode),traits:(randomnumber),identifier:"primaryB
我有一个协议(protocol)protocolSomeProtocol{funcmethod()}及其实现extensionSomeProtocol{funcmethod(){--implementation--}}在构建目标中,我有一个确认此协议(protocol)的类classSomeClass:SomeProtocol{funcdoSomething(){method()}}我想要的是在我的XCTest文件中的测试目标中有不同的协议(protocol)方法实现。为此,我所做的是扩展SomeClass并在那里编写我的实现。extensionSomeClass{funcmethod
我正在寻求帮助编写一个等待指定元素不再出现在页面上的方法。我正在使用Swift2.2和XCTest进行开发。如您所见,我是新来的,也是编程的新手。非常感谢您的帮助。 最佳答案 您必须为要测试的条件设置谓词:letdoesNotExistPredicate=NSPredicate(format:"exists==FALSE")然后在测试用例中为谓词和UI元素创建期望:self.expectationForPredicate(doesNotExistPredicate,evaluatedWithObject:element,handle