Reactjs 它仍然是“吗?”;“单元测试”;如果你';重复使用反应测试库/酶';什么是挂载功能?

Reactjs 它仍然是“吗?”;“单元测试”;如果你';重复使用反应测试库/酶';什么是挂载功能?,reactjs,testing,Reactjs,Testing,我们目前正在使用Ezyme的浅层渲染功能对React应用程序进行单元测试。每个组件都是单独测试的,所以我理解为什么称之为“单元测试” 我们正在着手渲染组件及其子级。您可以使用酵素的mount函数或React测试库来实现这一点,因为它从不渲染。这也意味着,如果Redux是一个连接的组件,我们必须模拟它 这类测试的名称是什么?我听说它叫做“集成测试”,但当我在工作中说这句话时,人们会认为我指的是别的东西。尽管多个组件一起测试,它仍然是一种“单元测试”吗 当您一次性测试多个组件,并且对不同组件之间的交

我们目前正在使用Ezyme的浅层渲染功能对React应用程序进行单元测试。每个组件都是单独测试的,所以我理解为什么称之为“单元测试”

我们正在着手渲染组件及其子级。您可以使用酵素的mount函数或React测试库来实现这一点,因为它从不渲染。这也意味着,如果Redux是一个连接的组件,我们必须模拟它


这类测试的名称是什么?我听说它叫做“集成测试”,但当我在工作中说这句话时,人们会认为我指的是别的东西。尽管多个组件一起测试,它仍然是一种“单元测试”吗

当您一次性测试多个组件,并且对不同组件之间的交互方式感兴趣时,称为集成测试

集成测试(有时称为集成和测试, 缩写I&T)是软件测试的一个阶段,其中 软件模块作为一组进行组合和测试


但是,仅仅使用
mount
这一事实并不会自动使其成为集成测试。

单元测试通常意味着单独测试特定的东西,例如函数调用

在一起测试多个组件时所做的工作通常称为集成测试

我相信混淆可能会出现,因为还有另一种类型的测试-端到端测试,这取决于您的设置,人们可能称之为集成测试

集成测试可以是一起测试所有组件,或者测试前端+服务的集成

我使用的堆栈如下所示:

  • 单元测试-使用Jest进行低级别测试(测试特定功能)

  • 集成测试使用酶的特定组件呈现测试

  • 端到端测试也称为行为测试,这些测试更具功能性,涉及测试整个流程。现在我正在使用Cypress.io进行这些操作

如果我是你,我会介绍一些自动化的E2E测试,因为这带来了最大的价值。如果所有组件都很好地集成在一起,那么浏览器就会崩溃,没有人会在意