使用 Xcode 提供的内置测试框架,有没有办法让应用程序代码确定它是否正在由测试运行程序运行,而不是作为应用程序运行?
换句话说,我想知道是否可以在应用程序代码中做这样的事情:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...
if (IsUnitTestRunning()) {
[self useDefaultSettings];
[self showDefaultViewController];
}
else {
[self restoreUserSettings];
[self restoreUserInterface];
}
// ...
}
我知道我可以创建一个新配置来定义一些预编译器宏并设置 Xcode 方案以在运行测试时构建和使用该配置,或者我可以在运行测试时将我的应用程序中的某种全局变量设置为 YES,但我我想知道 OCUnit 或 Xcode 中是否已经内置了一些东西来处理这个问题。