1

我正在使用 OCUnit 编写单元测试,我尝试过 GHUnit,但它不适合我的情况。

我确实想运行应用程序测试,因为我的代码严重依赖于我的 ApplicationDelegate 实例。但我只能弄清楚如何运行逻辑测试而不是应用程序测试。

这是来自模板的示例测试代码,但我的测试失败(没有应用程序委托)或根本没有运行测试代码。

- (void) testAppDelegate {

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

}

我从苹果那里找到了关于如何设置测试的指南,但它不适用于 Xcode 4

4

1 回答 1

2

在这里找到答案 如何在 xcode4 中实现应用程序测试?

假设您有一个名为“MyApp”的应用程序目标

  1. 将类型为“other/Cocoa Unit Testing Bundle”的新目标添加到项目中,例如“MyAppTesting”。所有单元测试文件都位于此处。
  2. 转到 MyAppTesting 构建阶段并将 MyApp 添加为目标依赖项。这可确保在构建 MyAppTesting 目标之前构建 MyApp。
  3. 打开 MyAppTesting 的 Build Settings 并更改
    • 捆绑加载器:$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
    • 测试主机:$(BUNDLE_LOADER)
    这会导致测试在 MyApp 中运行。
  4. 打开 MyApp 的 Build Settings 并更改
    • 默认隐藏符号:否(两者都适用)
    • 在复制期间剥离调试符号:调试:否
    通过这样做,您不必将每个 .m 文件都包含到测试目标中。

于 2011-05-30T09:11:26.570 回答