我正在使用OCUnit编写单元测试,我试过GHUnit,但它不适合我的情况。
我确实想运行应用程序测试,因为我的代码很大程度上依赖于我的ApplicationDelegate实例。但我只能弄清楚如何运行逻辑测试而不是应用程序测试。
这是来自模板的示例测试代码,但我的测试失败(没有应用程序委托)或根本没有运行测试代码。
- (void) testAppDelegate {
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");
}
我从苹果找到了一个关于如何设置测试的guide,但它不适用于Xcode 4
答案 0 :(得分:2)
在这里找到答案 how to implement application tests in xcode4?
假设您有一个名为“MyApp”的应用程序目标
- 添加“other / Cocoa Unit Testing Bundle”类型的新目标 项目,例如“MyAppTesting”。这里列出了所有单元测试文件。
- 转到MyAppTesting Build Phases并将MyApp添加为Target 依赖。这确保在构建之前构建MyApp MyAppTesting目标。
- 打开MyAppTesting的构建设置 并改变
这导致测试在MyApp中运行。
- Bundle Loader:$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
- 测试主机:$(BUNDLE_LOADER)
- 打开MyApp的构建设置并进行更改
通过这样做,您不必将每个.m文件都包含在测试目标中。
- 默认隐藏的符号:NO(两者都是)
- 复制期间剥离调试符号:调试:否