2

想知道其他人是否也进入了这个问题领域,以及他们的发现是什么。

我们有一个 React Native + React Native Web 应用程序,它共享相同的代码,并希望添加功能测试,它也尽可能地共享相同的测试代码,并且具有低误报功能测试。

根据我的研究,似乎没有一个解决方案可以让我两全其美(网络和本地之间的共享测试代码以及​​非易碎、低误报测试)。

根据我的研究,我发现很少有竞争者,如下所述:

Native: Detox, Appium, Cavy
Web: Cypress, TestCafe, Nightwatch, Selenium, Appium
Both: Appium

Appium 似乎同时支持这两者,但基于 Web 驱动程序,由于 Web 驱动程序的脆弱性和误报,该驱动程序的评价褒贬不一。此外,实际上将共享多少测试代码::thinking。

现在,另一种选择是使用适用于环境的适当工具。排毒似乎是原生的一个很好的解决方案。它支持 IOS 并且主要支持 android 并且运行速度很快,并且由于其灰盒性质而不是易碎的。对于 web,testcafe 或 cypress 似乎是一个很好的解决方案。

不幸的是,似乎没有一个解决方案可以两全其美。想知道是否有其他人在这个领域有经验,试图管理多个平台的测试?

希望对我的发现发表一些评论甚至确认。

4

1 回答 1

1

我使用以下工具成功测试了我的 react-native-web 项目的共享 api 调用、 reducerJest和组件Enzymeredux-mock-storefetch-mockjest-localstorage-mock

关于文件结构的重要说明:react-native 项目无法在 src 之外找到符号链接的文件夹,但 React 项目可以。出于这个原因,我将所有共享代码(包括所有测试)都放入其中,myApp/native/src/shared并且myApp/web/src/shared只是指向本机目录中共享文件夹的符号链接。将共享放在网络和本机之外,这是我最初想要的,但不起作用。

于 2019-07-02T19:54:13.113 回答