出于测试目的,我想绕过我的应用程序的登录屏幕。我可以通过注释掉在运行测试时推送视图控制器的代码来做到这一点。然而,这并不理想。我想出了一种在我的方案中设置环境变量的更好方法,然后执行:
if ([NSProcessInfo processInfo].environment[@"TEST"]) {
// Running EarlGrey test.
}
我想知道是否有更好的方法来检测我是否正在运行 EarlGrey 测试?
出于测试目的,我想绕过我的应用程序的登录屏幕。我可以通过注释掉在运行测试时推送视图控制器的代码来做到这一点。然而,这并不理想。我想出了一种在我的方案中设置环境变量的更好方法,然后执行:
if ([NSProcessInfo processInfo].environment[@"TEST"]) {
// Running EarlGrey test.
}
我想知道是否有更好的方法来检测我是否正在运行 EarlGrey 测试?
从常见问题解答中,您可能希望使用允许您添加检查的构建配置 -
#if EARLGREY_ENV
NSLog(@"This is being run in an EarlGrey test.");
#else
NSLog(@"Not an EarlGrey test.");
#endif
您还可以添加运行时检查NSClassFromString("EarlGreyImpl") != nil
,例如查看您是否在 EarlGrey 环境中运行。