Jest:如何在单元测试应用程序时利用其功能

时间:2017-08-09 09:44:01

标签: reactjs unit-testing karma-runner enzyme jest

我也是新手和单元测试的新手,我想知道使用Jest可以涵盖哪种类型的场景。

在我开始之前,我有一些具体的问题:

  • 反应应用的单元测试应包括哪些内容?
  • 我是否需要任何其他带有Jest的库来进行断言,嘲笑等?我读到了Chai,sinon等。不知道为什么使用它们以及是否需要使用Jest。
  • 酶的用途究竟是什么?它是否必须与Jest一起使用?
  • 我是否需要任何像Jma一样的任务跑步者?或者Jest有一个内置?我该如何设置呢。

1 个答案:

答案 0 :(得分:0)

  

反应应用的单元测试应包括哪些内容?

没有人能为你解答这个问题。作为一个粗略的计划,考虑不同功能打破的后果。从最有问题的方案开始,然后逐步减少。在某些时候,你会在编写测试的努力和破坏事物的后果之间找到平衡,并停止。这完全取决于您的申请。

  

我是否需要任何其他带有Jest的库来进行断言,嘲笑等?我读到了Chai,sinon等。不知道为什么使用它们并且需要Jest。

Jest开箱即用assertions,因为它建立在Jasmine上。这应该满足您的需求,除非您有非常特定的理由使用chai之类的替代方案,否则应该使用它。

Sinon完全不同 - 它是一个用于检查函数调用方式的间谍框架 - 您可以对这些检查的结果使用断言。据我所知,Jest没有内置任何类似内容(在编写时,这可能会改变或已经改变),所以如果你需要它,你应该使用它。

  

酶的用途究竟是什么?这是Jest必须使用的吗?

Enzyme是一个实用程序库,用于在真实的React组件上模拟渲染和其他交互,然后在其输出上运行断言。我强烈建议使用它来测试React组件。它一般不适用于Jest,因为Jest可以用来编写任何东西的测试,而不仅仅是React组件。

  

我是否需要任何像Jma一样的任务跑步者?或者Jest有一个内置?我该如何设置呢。

没有。 Jest 是一名测试运行员。