我使用detox对本机反应运行e2e测试。
其中一名从事排毒工作的人写的artcile说
灰色框基本上使用了应用程序中植入的一段代码,它可以帮助我们了解内部发生了什么。
我的问题是,这是怎么发生的?查看用于detox build
的{{3}}命令是
xcodebuild -project ios/YourProject.xcodeproj -scheme YourProject -sdk iphonesimulator -derivedDataPath ios/build
在那里没有特定排毒的提及。
此外,构建命令是可选的文档docs
您也可以选择不使用它并自己提供已编译的应用程序。
好吧,我该怎么做?如何注射排毒/确保排毒没有注入我的应用程序?如果我从我的CI服务器下载已编译的应用程序,则它不能与排毒一起使用(因为排毒代码没有植入应用程序,因此不足为奇)。但是如果我使用detox build
命令(它似乎只是在config指定的任何build
命令中运行),测试工作。似乎有一些“神奇”发生,这对新手来说是不可理解的。
感谢。
答案 0 :(得分:4)
这很神奇!
嗯,实际上并非如此。构建步骤 是完全可选的,并且如文档中所述,Detox适用于任何有效的应用程序。
为了加载Detox,我们告诉动态链接器使用DYLD_INSERT_LIBRARIES
环境变量加载它。因此,当您从命令行运行detox test
时,它只会加载Detox。
这在模拟器上很容易,因为它可以访问Mac的文件系统。一旦我们实际支持在实际硬件设备上进行测试,我们仍将使用该环境变量,但我们必须直接将其注入您的IPA文件中。