gpt4 book ai didi

testing - 如何为 React Native 应用程序进行自动的设备测试?

转载 作者:行者123 更新时间:2023-11-28 20:28:10 32 4
gpt4 key购买 nike

我想为用 React Native 编写的应用程序创建自动测试。我只想测试逻辑(不是 UI)。

Jest 似乎是在计算机上运行的单元测试甚至集成测试的绝佳解决方案。但我想在真实设备上测试应用程序。我有一个没有 UI 的组件,它执行一些逻辑、与其他设备的无线通信等。我需要特别测试该通信,没有设备就无法完成。

是否有任何框架或标准解决方案来做这样的事情?

最佳答案

好的,我做了关于测试 React Native 应用程序的研究。

目前,ReactNative 不提供可以在真实设备上运行集成(而非 UI)测试的独立于平台的测试框架。事实上有一个RCTTestRunner但它的功能有限且仅适用于 iOS 设备。

功能测试

有多种功能测试框架。这些测试主要依赖于 UI 组件,用于用户交互的黑盒测试。有两个成熟的跨平台框架可用于此:CalabashAppium . Appium 似乎是更好的解决方案,因为它是适用于两个平台的单一工具(Calabash 实际上是针对 iOS 和 Android 的两个项目的集合)。此外,当 Calabash 仅支持 Ruby 时,Appium 还支持多种语言(JavaScript、Python、Java 等)。

还有一个Cavy项目看起来很有前途,但以一种 hacky 的方式使用 React ref 生成函数,并且需要在应用程序代码中进行多次修改。

但所有这些都只是为了进行 UI 测试。

解决方案

我用来测试应用程序逻辑(不受 UI 更改影响)的解决方案如下。我创建了应用程序的特殊版本(通过创建新目标),它用测试组件替换了主要的 UI 组件。该测试组件在应用程序的顶部运行。它只是触发测试并显示日志。这些日志随后由功能测试框架读取和解析以生成报告。

关于testing - 如何为 React Native 应用程序进行自动的设备测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44806729/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com