Javascript测试框架

Javascript测试框架
Photo by Ferenc Almasi / Unsplash

了解几种JS测试框架,以供接下来工作中的需要。

下面是几种近几年评价较高的JS测试框架:

1.Jest

由Facebook团队研发,用于测试应用代码,尤其是React应用。React Redux testing.

Jest之所以比较特殊在于它提供了一个集成框架,无需复杂的配置,只需要通过npm安装即可使用。

npm install --save-dev jest

为何Jest作为一个自动化测试框架如此受欢迎?主要在于以下几点:

  • 开箱即用,并且附带一个断言库,因此不需要再像其他测试框架那样需要自行搭配额外的三方断言库。测试用例通过行为驱动(behavior-driven)的方式实现。你可以将你的测试用例文件放在_test_目录下运行。
  • Jest的文档很棒,并且它是一款性能非常不错的测试框架。
  • Jest提供了一组测试工具,他们有更高的鲁棒性,更少的错误。
  • Jest可以通过抓取截图来进行可视化回归,如果你的应用React应用,那么这个功能将非常有用,可以避免一些UI上的一些意外情况下的Bug。它通过对比渲染前和渲染后的截图来完成此项工作。通过新增截图来添加新的功能回归。

Jest的不足:

  • Jest相比Jasmine会缺少一些调试工具,这些工具在需要调试测试用例的时候会变得非常有用。
  • 有些人会觉得Jest的学习曲线相对其他框架来说比较陡峭,这点因人而异。
  • 当你的截图很大或者比较复杂的时候,截图测试会变得复杂且难以维护。

Jest是否是最适合你的测试框架?

Well,其实它取决于你的需求,假如你需要经常调试你的测试用例,那么Jasmine显然是更合适的选择。不过Jest还是值得一试,不仅仅是Facebook对它的投入,还有React开发者们对它的正向反馈。