如何检测我的应用程序是否正在运行EarlGrey测试?
问题描述:
出于测试目的,我想绕过我的应用程序的登录屏幕。我可以简单地通过注释掉运行测试时推送视图控制器的代码。但是,这并不理想。我想出了在我的计划中设置的环境变量,然后做一个更好的办法:如何检测我的应用程序是否正在运行EarlGrey测试?
if ([NSProcessInfo processInfo].environment[@"TEST"]) { // Running EarlGrey test. }
我想知道是否有什么更好的办法,如果我正在EarlGrey测试,以检测?
答
由于从faq,你可能想使用一个构建配置,使您可以添加像一张支票 -
#if EARLGREY_ENV
NSLog(@"This is being run in an EarlGrey test.");
#else
NSLog(@"Not an EarlGrey test.");
#endif
您还可以添加一个运行时检查像NSClassFromString("EarlGreyImpl") != nil
,看看你是否正在运行在EarlGrey环境中。
啊...建立时间标志。好吧,它比运行时检查稍好一点:) – khandpur