你们如何测试复杂的反应原生应用程序?
Posted
技术标签:
【中文标题】你们如何测试复杂的反应原生应用程序?【英文标题】:How are you guys testing complex react native applications? 【发布时间】:2020-07-07 17:10:25 【问题描述】:我是唯一一个觉得为复杂的 React Native 应用程序创建有用的测试实际上是不可能的?
你们如何测试具有大量本机依赖项的应用程序?
如果我尝试将 jest 与酶一起使用或反应原生测试库,我最终会使用 jest.mock() 来模拟我的大部分组件逻辑,以至于测试实际上感觉无用。大多数原生组件都无法模拟,我不得不花费大部分时间来研究如何模拟原生库而不是编写测试。
我有一些使用 detox 的测试很有用,但它们运行时间太长,而且大多数时候它们超级不稳定且速度慢,尤其是在 CI/CD 中,比如 bitrise,我发现这是最好的选择与排毒一起使用。
Detox 不适用于 Web 视图和警报等一些重要组件。设置嘲笑也是一件很痛苦的事情。
我没有在网上找到任何内容来教授如何在真实的 React Native 应用程序上进行测试。
我发现在 react web 应用程序中使用 react 测试库或酶要容易得多,而且测试更有意义。
人们真的没有在 react native 中进行测试吗?
每次我部署新版本时,我如何确保在没有手动 QA 的情况下事情不会中断?
这不是咆哮,我只是想听听那些拥有复杂生产应用程序的人的意见,因为我很绝望,需要爱。
【问题讨论】:
【参考方案1】:我最终使用 Appium(Python 或节点)+ AWS Device Farm 进行 e2e 测试。设置它可能会很痛苦,而且也需要一些时间,但它在每次发布时为我们节省了大量时间。能够在这么多设备上并行测试真是太好了。
由于我也在使用 bitrise,我可以告诉您集成非常好。我在媒体上写了一篇关于我的经历的短文: https://medium.com/horizon-alpha/optimizing-react-native-development-process-with-bitbucket-and-bitrise-io-d0aebe641db8
你可以试一试。
【讨论】:
以上是关于你们如何测试复杂的反应原生应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Android Studio 调试原生反应原生库?
当它被包装在提供者组件中时,如何使用 mocha + 酶 + chai 测试反应原生组件