我对Xcode4在iOS模拟器中运行应用程序测试的能力感到困惑。
一方面,苹果自己的文档说可以在模拟器中运行应用程序测试。另一方面,我已经阅读了这里的论坛,并且似乎大多数人发现不是这样的,应用程序测试只能在设备上运行。
如果后者是真的,请包含一个链接以证明这一点。我找不到任何东西。
无论如何,来自iOS App Development Workflow Guide:Unit Testing Applications:
列表6-2 iOS模拟器中基于应用程序的单元测试运行的记录
还有
注意:尽管Xcode可以在模拟器中运行逻辑和应用程序单元测试,但Xcode无法在设备上运行逻辑单元测试。因此,如果您在方案中包括并激活了两种类型的单元测试,则无法使用该方案在设备上运行单元测试。
问题在于模拟器无法访问UIApplicationDelegate。以下是一个演示样例测试:
``` - (void) testAppDelegate { id yourApplicationDelegate = [[UIApplication sharedApplication] delegate]; STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate"); } ```
在我的项目中,这个测试失败了。顺便提一下,我的逻辑测试运行良好。
一方面,苹果自己的文档说可以在模拟器中运行应用程序测试。另一方面,我已经阅读了这里的论坛,并且似乎大多数人发现不是这样的,应用程序测试只能在设备上运行。
如果后者是真的,请包含一个链接以证明这一点。我找不到任何东西。
无论如何,来自iOS App Development Workflow Guide:Unit Testing Applications:
列表6-2 iOS模拟器中基于应用程序的单元测试运行的记录
还有
注意:尽管Xcode可以在模拟器中运行逻辑和应用程序单元测试,但Xcode无法在设备上运行逻辑单元测试。因此,如果您在方案中包括并激活了两种类型的单元测试,则无法使用该方案在设备上运行单元测试。
问题在于模拟器无法访问UIApplicationDelegate。以下是一个演示样例测试:
``` - (void) testAppDelegate { id yourApplicationDelegate = [[UIApplication sharedApplication] delegate]; STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate"); } ```
在我的项目中,这个测试失败了。顺便提一下,我的逻辑测试运行良好。