在 CI 期间运行排毒测试

Posted

技术标签:

【中文标题】在 CI 期间运行排毒测试【英文标题】:Running Detox Tests during CI 【发布时间】:2021-06-21 01:35:58 【问题描述】:

问题很简单,我们想让 Detox 作为我们在 GitHub 中的 CI 管道的一部分运行。我们尝试了一些方法:

在 AppCenter 中运行 在 GitHub 操作中运行

我们在这两个方面都遇到了问题。首先,我们的 ios detox 发布版本似乎需要很长时间,超过 60 分钟(甚至在测试运行之前),这超过了 AppCentre 的最大超时时间。

GitHub 似乎无法在 Ubuntu 映像上运行模拟器,因此我们在 macOS 映像上这样做了。这会像任何事情一样耗费构建时间(这不是最大的问题),但我们还发现与本地测试运行相比,测试运行不一致,这使得事情很难调试。我认为我们在这里遇到的各种问题让我们想要尝试做一些更基于 SaaS 的事情。

目前我们的大部分 CI 都是通过 GitHub 操作完成的,我们确实有一个 jenkins 服务器可能是一个选项,我们目前没有任何 macOS 设备可用作运行器 - 但这是一个选项我是探索。

有没有人找到在管道中或通过提供程序运行排毒测试的好方法?如果有,您是如何实现的?

【问题讨论】:

【参考方案1】:

是的,我可以通过 jenkins - appcenter 做到这一点

【讨论】:

【参考方案2】:

@sainqdh reddy 我很想看看/了解更多关于您的 Jenkins 管道/Detox-e2e 工作的信息。我们正在排毒 在 Jenkins 中也进行了测试,但是构建速度非常慢并且正在尝试 并行运行多个规范通常会变成一个 噩梦。

【讨论】:

以上是关于在 CI 期间运行排毒测试的主要内容,如果未能解决你的问题,请参考以下文章

排毒不会在 Circle CI 上启动 iOS 模拟器

在对travis-ci的测试期间,它会挂起

在使用 Detox 运行测试期间,Android 模拟器无法启动应用程序

如何确定特定排毒测试在哪个平台上运行?

排毒测试在运行测试之前挂起并重新加载应用程序几次,如何调试?

排毒 - 从头到尾录制一个视频