前端测试工程师?强大的测试工具推荐

前端现在日益壮大,再也不是那个只是写写页面,调调样式的小员工了,现在前端工程师要做的能做的太多了。

那么多框架使我们的开发越来越快,效率越来越高,高产率下也需要强大的测试工具保证我们的代码功能完美。

在现在推崇的函数式编程模式下,纯函数和业务分级,让我们的代码越来越好,维护和升级都很方便,基于这些函数式编程的代码我推荐一些好用的测试工具

单元测试(最小功能函数的输出值)

断言库(最小单元是否可用的),

  1. better-assert(TDD断言库)
  2. should.js(BDD断言库)
  3. expect.js(BDD断言库)
  4. chai.js(TDD,BDD双模断言库,使用最多)
  5. jasmine.js(BDD断言库)
  6. Node.js自身集成的require("assert")
  7. intern(比较大,功能比较全面的单元测试框架)
  8. qunit(jquery的测试框架)
  9. macaca(来自阿里巴巴,一套完整的自动化测试解决方案,少人维护)

注:

TDD(先写测试用例,再开发功能,测试值 = = 输入值,反了就会报错--国外用得多)
    assert("我是测试值" = = 单元输出结果)
BDD(先写功能,再测试--国内比较多,基本都是业务驱动功能使用)
    expect(1).toEqual(fn())

karma集成测试环境

karma自动化runner集成PhantomJS无刷新
cnpm i -g karma
cnpm i karma-cli --save-dev
cnpm i karma-chrome-launcher --save-dev
cnpm i karma-phantomjs-launcher --save-dev
cnpm i karma-mocha --save-dev
cnpm i karma-chai --save-dev
// 测试覆盖率的包,可生成测试报表
cnpm i karma-coverage --save-dev

e2e测试

  1. selenium-webdriver
  2. nightwatch(配置很麻烦,有很多JDK环境)

UI测试

  1. Phantomcss(不好用)
  2. BackstopJS
  3. f2etest(UI自动化录入,可以记录各种界面操作,生成相应的脚本代码,主要针对nightwatch使用)

service测试

  1. mocha
  2. mochawesome:

    1. node后端:supertest(app.listen()),后面接接口方法(get,post)和path,再跟expect()测试接口的返回状态和返回数据的类型,最后需要end函数收尾,调用为链式
    2. 非node后端:fetch("地址路径"),在fetch回调函数操作测试结果

比较新的工具

  1. jest:项目绑定使用多,比如vuecli构建的项目,一站式解决所有测试
  2. rize是PhantomJS的替代品,PhantomJS已经不更新了
  3. puppeteer广泛用于爬虫或UI测试

你可能感兴趣的:(javascript,前端,node.js)