在 TravisCI 上使用 Detox 进行测试时,如何将测试结果(失败/通过)写入变量/文件
Posted
技术标签:
【中文标题】在 TravisCI 上使用 Detox 进行测试时,如何将测试结果(失败/通过)写入变量/文件【英文标题】:How can i get the result of a test (fail/pass) written in to a variable/file when testing with Detox on TravisCI 【发布时间】:2019-05-24 05:15:21 【问题描述】:我正在使用 TravisCI 构建我的 React Native 应用程序,并使用 Detox 在该版本上运行 E2E。
Detox 测试结果打印到 travis 控制台,但我需要知道失败或传入 env var,以便我可以采取行动。
测试命令为:
detox test --configuration ios.sim.debug
所以我试过了:
export SANITY_RES=$(detox test --configuration ios.sim.debug)
但echo $SANITY_RES
只包含:
configuration="ios.sim.debug" artifactsLocation="artifacts/ios.sim.debug.2018-12-25 14-42-58Z" node_modules/.bin/jest e2e --config=e2e/ config.json --maxWorkers=1 '--testNamePattern=^((?!:android:).)$' detox[80481] 信息:[DetoxServer.js] 服务器正在监听 localhost:51067... *
而不是最终结果。 我还有其他方法可以得到它们吗?
【问题讨论】:
【参考方案1】:Detox 允许您编写构建日志。更多详情请查看https://github.com/wix/Detox/blob/master/docs/APIRef.Artifacts.md
如果您将—record-logs all
添加为detox test
的标志,它将保存构建的所有日志,如果您只想要失败测试的日志,请将其更改为—record-logs failing
。
您甚至可以指定日志的存储位置。
【讨论】:
以上是关于在 TravisCI 上使用 Detox 进行测试时,如何将测试结果(失败/通过)写入变量/文件的主要内容,如果未能解决你的问题,请参考以下文章
Detox - Android / iOS - 无法在 android 上运行相同的测试
使用 Detox 在 Android React Native 应用程序中通过 Chrome 弹出测试登录
在 Azure DevOps 上运行的 Detox(反应原生)问题