乐趣区

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

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

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

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

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

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

  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 测试
退出移动版