我是ios世界的新手,正在弄清楚如何从命令行运行测试。我有APP.app和TEST.xctest(基本上是KIF测试)。我无法弄清楚如何在应用程序(在模拟器和设备上)上运行这些测试。我尝试使用xcodebuild测试并将方案设置为TEST但没有用。我能够使用xcrun命令在模拟器上安装.app。xcruninstruments-w"iPhone5(8.0Simulator)"xcrunsimctlinstallbooted现在如何在模拟器上运行Xctests?非常感谢任何帮助。 最佳答案 在我看来,我认为使用.app和.xctest
我正在更新我为使用Swift3而开发的Cocoapod。在我升级之前,我所有的异步单元测试都运行良好。但是现在升级后,每一个都立即失败,我不知道为什么。以下是每个结构的结构:overridefuncsetUp(){super.setUp()validationExpectation=expectation(description:"Validation")}...functestSymbolRequest(){_=MyCocoapod.makeSymbolRequest(symbol:"ABC",success:{(symbolObject)inself.validationExpec
我有两个模型:UserCompany用户有两个属性:firstNamelastName公司有一个属性:name用户和公司之间是一对多的(即一个用户可以有多个公司)。我可以在我的应用程序中很好地创建两个对象之间的这种关系。但是,当我设置如下相同的关系时,我的单元测试失败了:User*user=[UserFactoryregularUserInContext:self.context];Company*comp=[CompanyFactoryregularCompanyInContext:self.context];comp.owner=user;NSError*error;XCTAsse
是否有任何已知方法可以影响XCUITest调用测试方法的顺序?目前,以何种顺序调用哪种测试方法似乎完全是任意的。这使得无法定义特定顺序。一般来说,Xcode管理XCUITest运行的方式不是最优的,因为您必须为每个测试用例定义一个测试函数。更可取的是仅从一种方法启动完整的测试session,这样人们就可以在例如session:功能:场景中构建自己的测试。...这正是我想要做的,因为我们遵循Calabash风格的测试结构和我围绕XCUITest编写的框架提供了许多附加功能(例如Testrail集成)。我尝试以这样一种方式实现框架,即所有功能和场景都被组织起来并从单个test()方法开始。
我想使用Xcode7中引入的UI测试从我的应用程序中手动拍摄一些快照。默认情况下,Xcode拍摄每一步的屏幕截图,结果我得到了在ViewController之间的转换中间拍摄的屏幕截图。我想在特定时刻手动拍摄快照。任何想法如何做到这一点?我知道如何截取UIView的屏幕截图,但XCUIApplication不提供任何API来获取UIView对象。 最佳答案 我为此创建了一个库:https://github.com/zmeyc/UITestUtils这个想法是在应用程序本身中截取屏幕截图并通过套接字将其发送到测试应用程序。我没有找到直
我正在尝试为使用Parse后端框架的iOS应用程序编写单元测试,经过大量实验后似乎无法编写成功的单元测试。我找到了一些关于测试异步代码(TestingasynchronouscallinunittestiniOS)和测试网络调用的帖子,但我还没有找到一种方法来测试使用异步回调对Parse后端的调用。举个例子,谁能建议我如何测试下面这行代码:[PFUsersaveUser:userModelMockwithBlock:^(BOOLsuccess,NSError*error){}];我正在使用OCMock和XCTest框架。如有任何帮助,我们将不胜感激。*编辑*这是我到目前为止所拥有的,但
我曾经askedaquestionrelatedtoXCTests.在其中一个答案中,我被告知在运行单元测试时(至少在iOS开发中)使用单独的测试主机(而不是主应用程序)是一种常见的做法。我试图找到一些关于它的资源,但我找不到我明白,这可能是最佳实践,所以我真的很想了解它。有人可以向我解释为什么它很重要,我能从中得到什么好处以及我应该如何去做?非常感谢指向一些解释该问题的文章的链接。附言我知道我需要特殊的测试环境(伪造的内存数据库、模拟网络层等),但到目前为止,我设法在没有单独的测试主机的情况下实现了它,只使用我的主应用程序,就像Xcode所建议的那样默认。但我相信可能有更好的方法。而
我正在开发一个cocoatouch框架,我正在使用CocoaPods导入“RealmSwift”。项目构建成功,但测试加载失败。我收到以下错误:xctest(97035)encounteredanerror(Earlyunexpectedexit,operationneverfinishedbootstrapping-norestartwillbeattempted.(Underlyingerror:Thetestrunnerfailedtoloadthetestbundle.Executablecannotbeloadedforsomeotherreason,suchasaprobl
我正在尝试使用XCTestCase在不同方向测试我的iOS应用程序。我需要一种以编程方式改变方向的方法。我尝试用两种方法进行此操作,但都没有改变方向(方向保持为UIInterfaceOrientationPortrait)。尝试1[UIApplicationsharedApplication].statusBarOrientation=UIInterfaceOrientationLandscapeLeft;`尝试2[[UIDevicecurrentDevice]setValue:[NSNumbernumberWithInt:UIInterfaceOrientationLandscape
有没有办法将方法添加到您的XCTestCase而不会将其计为测试?像setUp和tearDown这样的东西已经存在了。一个用例是在特定时间点对我的一些测试用例中的对象执行特定操作,同时访问类本身的实例变量(这推出了使用静态方法和外部帮助文件的可能性) 最佳答案 只有以test开头的方法才会被视为测试。因此,只需将您的辅助方法命名为不以test开头的名称即可。顺便说一下,我不会倾向于将XCTAssert语句放入您的辅助方法中。它有效(适当的测试将失败),但在某些情况下,很难破译哪些测试导致辅助方法中的断言触发。