如何使用Xcode 4和OCUnit运行应用程序测试?

时间:2011-05-29 09:54:00

标签: iphone ios xcode4 ocunit

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

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

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

- (void) testAppDelegate {

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

}

我从苹果找到了一个关于如何设置测试的guide,但它不适用于Xcode 4

1 个答案:

答案 0 :(得分:2)

在这里找到答案 how to implement application tests in xcode4?

  

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

      
  1. 添加“other / Cocoa Unit Testing Bundle”类型的新目标   项目,例如“MyAppTesting”。这里列出了所有单元测试文件。
  2.   
  3. 转到MyAppTesting Build Phases并将MyApp添加为Target   依赖。这确保在构建之前构建MyApp   MyAppTesting目标。
  4. 打开MyAppTesting的构建设置   并改变        
    • Bundle Loader:$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
    •            
    • 测试主机:$(BUNDLE_LOADER)
    •        
           这导致测试在MyApp中运行。
  5. 打开MyApp的构建设置并进行更改        
    • 默认隐藏的符号:NO(两者都是)
    •            
    • 复制期间剥离调试符号:调试:否
    •        
          通过这样做,您不必将每个.m文件都包含在测试目标中。