Jest.js React Native测试库与本机测试库之间的区别?

jaql4c8m  于 2022-12-08  发布在  Jest
关注(0)|答案(2)|浏览(196)

我想测试我的React Native代码,但是我正在纠结应该使用哪个测试库。
根据我在互联网上看到的,比起测试组件的内部逻辑,更好的做法是专注于测试用户行为,这就是为什么我使用jest库来测试test-renderer
ReactNative official documentation上有两个推荐的库与我的库等效:react-native-testing-library和@测试库/React Native(也称为 * 本机测试库 *)。
它们之间有什么区别?

dffbzjpn

dffbzjpn1#

testing-library/native-testing-library建议在github上使用callstack/testing-library,但是@testing-library/react-native@7.x.x的npm包指向存储库https://github.com/callstack/react-native-testing-library
在文档中:
您可能已经注意到了一个奇怪的v2v7的升级,跳过了版本3、4、5和6。这是因为我们将react-native-testing-library npm包重命名为@testing-library/react-native,正式加入了“测试库”家族🎉。我们将现有的两个库合并为一个库。本机测试库仓库(包含v6、将很快被归档,并且不建议使用v7以下的@testing-library/react-native(来源于上述资源库)。
为了品牌化的目的,我们保留了“React Native Testing Library”的名称,类似于“React Testing Library”。只有npm发布的包会发生变化。在Callstack治理下,代码库也保持不变。
总结:代码库本质上是相同的,(因为它来自相同的开发人员),但是,自从加入@testing-library以来,开发人员在npm注册表上做了一些管理工作来合并包。

ut6juiuv

ut6juiuv2#

过去,React原生测试库包括:@testing-library/react-nativeBrandon Carroll构建,react-native-testing-libraryCallstack构建。这两个库都是根据肯特C. Dodds的React Testing Library建模的,并依赖React Test Renderer来呈现组件。
经过一段时间后,后一个得到了更积极的维护,并在社区中看到了更大的采用。2020年6月,前一个(作者:布兰登卡罗尔)已被弃用,后一个(由Callstack提供)已经成为测试库组织中的官方ReactNative库,接管@testing-library/react-native NPM包名称。在合并过程中,Callstack库的API已被修改,以允许用户更容易地从已弃用的库中转换。

相关问题