tinyshare微博账号
JavaScript世界中的自动化测试工具 十一月 14, 2018

作者从自己的经验出发,总结了JavaScript环境下的自动化测试工具。


作者共从四个方面讲了JavaScript环境下的自动化测试框架。

自动化测试的图形化界面(GUI):

  • Selenium Webdriver是一个强大的GUI测试框架,支持Chrome,Firefox,Safari和IE浏览器。
  • Protractor是由谷歌的Angular团队维护,相比Selenium Webdriver语法更简洁,更易维护,且一些知名的单元测试框架都是基于Protractor封装开发的,比如Jasmine和Mocha等,且支持TypeScript。
  • Cypress是一个端到端测试工具,它有完善的文档,易于使用,可用于多个开发场景,比如:与Chrome Dev Tools整合,调试,支持命令行调用等。

自动化测试的整合(API测试):

  • Jsdom是一个可以整合Chai等其他测试框架的库,它可以模拟一个浏览器的子集,来测试应用服务,它也可以转换REST API返回的HTML,执行一些像querySelector的函数等。
  • Chai是一个node环境下的断言库,但是它也适用于流量拿我,它可以做一些确认的操作,它可以通过断言确定HTTP请求的返回值是否等于给定的值。

自动化单元测试:

  • Tape是一个最简洁的单元测试库,它执行一列断言,让那个测试程序简单化,不需要引入其他特殊的库来执行断言。
  • Jasmine是一个支持BDD(行为驱动开发)的测试框架,它一个最大的一个好处是语法简洁,测试用例更加易于编写和阅读。
  • Mocha是JavaScript开发者讨论最多的单元测试框架,兼容node和浏览器环境,简单易用。它支持异步测试(包括promise),且可以生成代码覆盖了报告。
  • Jest是由Facebook的发起,React社区用它做快照测试,也可以用于Test Double,比如mock数据。

静态代码分析工具:

  • StandardJS是JavaScript代码分析的最简单的选项了,它可以用于代码转化,语法提示。也可以让整个项目的代码遵循同样是代码规范,而不需要任何其他配置。
  • ESLint是一个代码检查库,它可以让开发团队去自定义他们自己的代码规范,并且可以保证这个代码规范在团队内被执行。它可以根据规则自动检查并指出正确的规则,比如Tab中空格的数量,单引号还是双引号,缺少分号等。

希望这篇文章能给你启发,让你更好地理解并使用合适的JavaScript自动化测试框架。