如何为AppDelegate编写单元测试?

时间:2017-08-09 13:02:09

标签: swift unit-testing tdd appdelegate xctest

我在applicationDidFinishLaunchingWithOptions内部的app委托(主要是CoreData)中进行了大量设置。并且好奇我将如何在appDelegate中测试代码?感谢

2 个答案:

答案 0 :(得分:3)

第一步:在测试期间停止使用常规应用程序委托。这样就可以避免它在发布时被调用"问题,也可能加快你的测试速度。见https://qualitycoding.org/ios-app-delegate-testing/

第二步:既然在启动测试时没有调用常规应用程序委托,直接从测试中调用它的方法。

答案 1 :(得分:2)

将功能移动到较小的功能或您可以测试的其他类中。

如果您将内容保留在App Delegate类中,则可以按正常方式访问它们,因为单元测试已链接到应用程序并且实际运行了应用程序。但你不能打电话给applicationDidFinishLaunchingWithOptions并期望它能够奏效。 iOS将在开始时调用它,就像正常情况一样。