如何将排毒代码插入应用程序包中

时间:2018-03-23 07:56:46

标签: react-native detox

我使用detox对本机反应运行e2e测试。

其中一名从事排毒工作的人写的artcile

  

灰色框基本上使用了应用程序中植入的一段代码,它可以帮助我们了解内部发生了什么。

我的问题是,这是怎么发生的?查看用于detox build的{​​{3}}命令是

  

xcodebuild -project ios/YourProject.xcodeproj -scheme YourProject -sdk iphonesimulator -derivedDataPath ios/build

在那里没有特定排毒的提及。

此外,构建命令是可选的文档docs

  

您也可以选择不使用它并自己提供已编译的应用程序。

好吧,我该怎么做?如何注射排毒/确保排毒没有注入我的应用程序?如果我从我的CI服务器下载已编译的应用程序,则它不能与排毒一起使用(因为排毒代码没有植入应用程序,因此不足为奇)。但是如果我使用detox build命令(它似乎只是在config指定的任何build命令中运行),测试工作。似乎有一些“神奇”发生,这对新手来说是不可理解的。

感谢。

1 个答案:

答案 0 :(得分:4)

这很神奇!

嗯,实际上并非如此。构建步骤 是完全可选的,并且如文档中所述,Detox适用于任何有效的应用程序。

为了加载Detox,我们告诉动态链接器使用DYLD_INSERT_LIBRARIES环境变量加载它。因此,当您从命令行运行detox test时,它只会加载Detox。

这在模拟器上很容易,因为它可以访问Mac的文件系统。一旦我们实际支持在实际硬件设备上进行测试,我们仍将使用该环境变量,但我们必须直接将其注入您的IPA文件中。