Xcode 4:iOS模拟器中的应用程序测试

时间:2011-11-05 01:26:32

标签: unit-testing xcode4

我对Xcode4在iOS模拟器中运行应用程序测试的能力感到困惑。

一方面,Apple自己的文档说应用程序测试可以在模拟器中运行。另一方面,我已经阅读了这里的论坛,似乎大多数人都没有发现,应用程序测试只能在设备上运行。

如果后者属实,请附上一个链接以记录此内容。我还没有找到任何东西。

无论如何,来自iOS App Development Workflow Guide:Unit Testing Applications

  

Listing 6-2 Transcript of an iOS Simulator-based application unit-test run

以及

  

Note: Although Xcode can run logic and application unit tests in simulators, Xcode cannot run logic unit tests on devices. Therefore, if you include and have active both types of unit tests in a scheme, you will not be able to use that scheme to run unit tests on devices.

问题是模拟器不提供对UIApplicationDelegate的访问。这是一个示例测试,用于演示:

  

- (void) testAppDelegate { id yourApplicationDelegate = [[UIApplication sharedApplication] delegate]; STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate"); }

此测试在我的项目中失败。 BTW我的逻辑测试运行良好。

1 个答案:

答案 0 :(得分:3)

我很糟糕,我说得太早了。我试过this solution并且它有效。换句话说,我现在可以在iOS模拟器中运行逻辑测试和应用程序测试。

请务必在测试目标的构建设置中设置bundle loadertest host个参数。