我在applicationDidFinishLaunchingWithOptions
内部的app委托(主要是CoreData)中进行了大量设置。并且好奇我将如何在appDelegate中测试代码?感谢
答案 0 :(得分:3)
第一步:在测试期间停止使用常规应用程序委托。这样就可以避免它在发布时被调用"问题,也可能加快你的测试速度。见https://qualitycoding.org/ios-app-delegate-testing/
第二步:既然在启动测试时没有调用常规应用程序委托,直接从测试中调用它的方法。
答案 1 :(得分:2)
将功能移动到较小的功能或您可以测试的其他类中。
如果您将内容保留在App Delegate类中,则可以按正常方式访问它们,因为单元测试已链接到应用程序并且实际运行了应用程序。但你不能打电话给applicationDidFinishLaunchingWithOptions
并期望它能够奏效。 iOS将在开始时调用它,就像正常情况一样。