我希望我的应用程序在 UI 测试模式下运行时运行特殊代码(例如重置其状态)。我查看了应用程序从 UI 测试运行时设置的环境变量,并且没有任何明显的参数可以区分应用程序正常运行与 UI 测试中运行。有没有办法找出来?
我不满意的两个解决方法是:
- 设置
XCUIApplication.launchEnvironment
一些我稍后在应用程序中检查的变量。这不好,因为您必须在setUp
每个测试文件的方法中设置它。我尝试从方案设置中设置环境变量,但在运行 UI 测试测试时不会传播到应用程序本身。 - 检查环境变量是否存在
__XPC_DYLD_LIBRARY_PATH
。这看起来很 hacky,并且可能只是因为我们如何设置目标构建设置的巧合而现在才起作用。