带有笑话和酶的反应单元测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有笑话和酶的反应单元测试相关的知识,希望对你有一定的参考价值。

[令我感到惊讶的是,许多博客都使用Jest和Enzyme编写了针对React Application的单元测试。不能,我们仅通过玩笑或仅通过酶来编写针对React应用程序的单元测试?

如果是的话,要得到一个组件,我们在酶中使用shallow(),但在Jest中使用什么?

答案

我认为您不完全理解jestenzyme的概念。

笑话

TL; DR: Jest只是类固醇的javascript测试者(不仅仅是react)。

jest的主要功能是执行JavaScript测试。它为您提供了组织测试的工具,例如使用describeittest块。 jest带有很多build-in assertions(例如expect(actual).toBe(expected)),可帮助您识别失败和成功的测试。 jest最重要的是,它还具有其他功能,例如,它使您可以轻松地mock functions甚至是complete modules

通常将

jest绑定到react,但与react结合使用效果很好,因为它由Facebook维护,就像react本身一样。因此,基本上每次都是正确的选择,recommended by react

TL; DR:实用程序的集合,以简化测试/渲染react组件。从技术上讲,您不需要react或任何其他框架来测试Enzyme组件(只需react)。 jest已经公开了react,但是在没有正确包装和简单地提供其API的情况下使用它们确实很麻烦。这正是react-dom/test-utils所做的。它基本上在enzyme上放了一层抽象,并添加了一堆实用程序,因此您不必担心自己实现它们。


[我强烈推荐

您查看react-dom/test-utils,它是react-testing-library的替代产品,并阅读其创始人编写的react-testing-libraryenzyme"Testing Implementation Details" blog post相似,react-testing-library

以上是关于带有笑话和酶的反应单元测试的主要内容,如果未能解决你的问题,请参考以下文章

无法读取未定义单元测试酶的属性“contextTypes”

反应笑话单元测试用例TypeError:无法读取未定义的属性'then'

用笑话和酶覆盖无操作功能

带有笑话的Vue Cli单元测试如何运行单个测试

测试从上下文 api 消耗道具的反应组件期间的不变违规错误

光合作用 -