Tag: unit testing

如何在XCode 5中的每个“构build和运行”操作中自动执行unit testing?

我知道以前有类似的问题,但是提供的答案不包括XCode 5.我明白,XCode 5中的TEST_AFTER_BUILD设置已经过时(请参阅unit testing – XCode 5更新之后的RunUnitTests错误 )这自然会导致我的问题:在每次构build之后,如何自动执行unit testing,现在该设置已过时。 非常具体: 我的工作区有几个(超过10个)项目。 当我按下Xcode 5中的RUNbutton(UI左上angular)时,我想要unit testing运行当前scheme中的所有依赖关系(假设当然相关的项目已被修改)。 此外,如果任何testing失败,则构build和运行操作将失败。 这是在XCode 4中工作; 请参阅上面的链接,了解“旧的做法”现在如何被打破。 这是一个迁移问题。 我不需要在XCode中进行unit testing的一般(也可能是过时的)教程。

如何编写NSNotification的unit testing

我在swift中工作,我想刷新一个页面,所以我使用通知发送它,我在一个ViewController发布通知,并添加观察者在另一个,它是完美的工作。 我想要做的就是快速添加unit testing。 我查了很多网站,但无法做到这一点。 我是新来的迅速,不知道从哪里开始。 基本上工作是,当我点击button通知张贴和当下一个视图控制器加载通知观察员被添加。 我怎么做unit testing 提前致谢 编辑:代码 NSNotificationCenter.defaultCenter().postNotificationName("notificationName", object: nil) 并添加观察者 NSNotificationCenter.defaultCenter().addObserver(self, selector: "vvv:",name:"notificationName", object: nil)

XCode 3.2.4升级后进行逻辑testing的问题

最近升级到XCode 3.2.4和iOS SDK 4.1导致我的unit testing不再适用于我的iOS项目。 该项目目前只在模拟器上运行,而不是真正的硬件。 我试图做一个新的空白项目添加一个虚拟的testing用例,总是会通过,但它也不起作用,给我这个结果: 处理命令输出时发生内部错误: – [XCBuildLogCommandInvocationSection setTestsPassedString:]:发送到实例0x20176e320的无法识别的select器 处理命令输出时发生内部错误: – [XCBuildLogCommandInvocationSectionRecorder endMarker]:无法识别的select器发送到实例0x201257de0 是否有其他人使用XCode 3.2.4和iOS SDK 4.1testing用例?

我如何在Firebase数据库中分隔testing和生产数据?

每个Firebase项目仅包含一个用于数据的JSON树。 最佳实践要求testing应该在生产数据的独立数据库上运行。 什么是最简单的方法来实现呢? 我考虑过的一些事情: 在同一个项目中使用多个子树进行testing和生产 – 这看起来很混乱,testing和生产数据很难分开。 设置多个Firebase项目进行testing和生产 – 这似乎是与Android相关的这个问题的最佳答案。 但我不确定如何在Xcode中设置多个GoogleService-Info.plist文件,并根据我的应用程序的configuration在它们之间切换。

Xcode中逻辑testing和应用testing的区别?

在Xcode中,当你创build一个新的目标Cunit testing用例时,它会要求你在“逻辑”testing和“应用程序”testing之间进行select。 有什么不同?

每次运行unit testing时如何运行全新的应用程序安装?

我已经为我的应用程序设置了一些XCTestunit testing,并希望每次运行testing时都要运行全新的应用程序安装。 目前,当我运行后续testing时,它会在之前运行的同一个应用程序中运行testing,其中有很多状态信息已经被以前的testing所改变。 有没有办法指出,当你运行unit testing,它应该运行在你的应用程序的新版本的testing?

Xcode 5:一个scheme中的多个testing目标:“模拟器已经在使用”

在Xcode 5中,我有一个包含多个项目的工作区和一个应该运行各个项目的所有testing目标的scheme。 当我启动关于3个testing项目目标的testing通过。 到现在为止还挺好。 但是在第四个testing目标中,我收到Xcode的一个错误信息,告诉我模拟器不能被启动,因为它已经被使用了。 有没有办法在单个(!)scheme中杀死每个testing目标(!)之间的模拟器? 还是有其他解决scheme? 编辑:我打开了这个rdar: http ://openradar.appspot.com/15153136 谢谢!

scheme未configuration为testing操作(iOS xcode项目)

我正在尝试为我的iOS应用程序运行Xcodeunit testing。 我愿意在通过USB连接到Mac机的iPad上进行操作。 我试图从命令行运行testing,以便稍后从Jenkins触发它。 下面是我正在键入命令行和我得到的错误。 请帮忙。 代码: xcodebuild test -scheme MyApplication -destination "platform=iOS,name=iPad" 错误: Scheme MyApplication当前未configuration为testing操作

在unit testing中,使用dispatch_asyc执行队列中传递的块

如果我dispatch_async在主队列上的一块像这样: -(void) myTask { dispatch_async(dispatch_get_main_queue(), ^{ [self.service fetchData]; }); } 在unit testing中,我可以通过手动运行主循环来执行主队列中传递的块: -(void)testMyTask{ // call function under test [myObj myTask]; // run the main loop manually! [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; // now I can verify the function 'fetchData' in block is called … } 现在,我有另一个类似的function,将块分派到主队列以外的连续队列: -(void) myTask2 { dispatch_async(dispatch_queue_create("my.sequential.queue", NULL), ^{ [self.service fetchData]; }); } […]

在xCode 7.1中使用警报

我在xCode 7.1中编写UITests,在testing警报时遇到问题(在我的情况下允许通知)。 当创build一个testingxCode写这个代码: app.alerts["\U201cAppName\U201d Would Like to Send You Notifications"].collectionViews.buttons["OK"].tap() 立即导致错误: 文字中的转义序列无效 所以我用下面的代码replace了xCode的代码: app.alerts["\u{201c}AppName\u{201d} Would Like to Send You Notifications"].collectionViews.buttons["OK"].tap() 但是,当我运行UITest失败,消息: UItesting失败 – 找不到警报的匹配项 代码也一样 app.alerts["“AppName” Would Like to Send You Notifications"].collectionViews.buttons["OK"].tap() 我也试过了 app.alerts.collectionViews.buttons["OK"].tap() 正如人们在这里所build议的,但同样的故事 我相信很多人在xCode 7.1的UITesting期间遇到这样的问题 请分享您的经验或任何解决build议。 提前致谢!