我希望我的应用程序在UI测试模式下运行时运行特殊代码(例如重置其状态).我查看了从UI测试运行应用程序时设置的环境变量,并且没有任何明显的参数来区分正常运行的应用程序与UI测试中的应用程序.有没有办法找出来?
我不满意的两个解决方法是:
XCUIApplication.launchEnvironment一些变量,我稍后在应用程序中检查.这不好,因为您必须在setUp每个测试文件的方法中设置它.我尝试从方案设置中设置环境变量,但在运行UI测试测试时不会传播到应用程序本身.__XPC_DYLD_LIBRARY_PATH.这似乎非常hacky,可能现在只能工作,因为我们如何设置目标构建设置是巧合.我试图依靠OHHTTPStubs作为一个框架,来自Xcode 7中的Swift UI测试目标.
我构建了.framework(通过Carthage,但我不确定它是否相关?)并将其拖入UI测试目标的Build Phases选项卡下的"带库的链接二进制文件"部分.
但是当我尝试@import OHHTTPStubs在我的.swift测试用例中时,Xcode告诉我No such module 'OHHTTPStubs'.