温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Issue with Detox (react native) running on Azure DevOps
azure-pipelines react-native detox

其他 - 在Azure DevOps上运行的Detox(反应本机)问题

发布于 2020-04-15 00:22:43

我使用Detox for React Native进行了一些集成测试,使用本地计算机上的Release配置它们可以正常工作。

但是,当我尝试在Azure DevOps管道上设置相同的配置时,测试似乎没有通过。

看起来Metro Bundler尝试在新的终端窗口上运行,但是由于它是Azure Pipeline VM,它卡住了吗?然后,测试不会通过。由于它是发行版本,也许有办法阻止此事件?发行版本不需要捆绑程序仍在运行。

我的排毒命令:

detox build --configuration ios.sim.release

我的排毒配置:

 "ios.sim.release": {
        "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/raio.app",
        "build": "RN_SRC_EXT=e2e.js xcodebuild -workspace ios/raio.xcworkspace -scheme raio -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "device": {
          "type": "iPhone 11 Pro"
        }
      }

附加问题:有人知道如何在终端中运行此xcodebuild行使Metro bundler启动吗?是否有任何自定义构建阶段添加到xcode中以响应触发它的本机?

查看更多

提问者
ddacrs
被浏览
125
Merlin Liang - MSFT 2020-02-04 13:57

不确定您描述的结果是否是这样的:

在此处输入图片说明

这是使用托管MacOS代理与管道一起运行时的限制。

在单独的终端窗口中启动的该守护程序(Metro捆绑程序)需要交互模式,但Hosted MacOS agents可以作为服务运行因此,不是交互式模式,这可能是失败的原因之一。

另外,到目前为止,我们还没有扩展该功能,Hosted MacOS agents以支持通过构建管道在单独的终端中启动该守护程序,并保持其作为后台进程运行。

您最好配置自己的Mac代理,以便完全控制计算机环境。