许久不做前端, 偶尔看一下前端开发中的单元测试框架.

今天突然觉得反正有时间, 看电影烦了,那就稍微看一下前端开发中的一些单元测试框架,记得vue的脚手架里面有mocha和jasmine两个, 刚好查了下, 随手就找了jasmine的官方资料看一下, 前端开发一般用到的民有mock.js,这个框架一般注入到ajax框架的请求发送阶段, 在请求提交之前,使用框架来返回结果, 当然前端开发也可以使用反向代理将后台地址代理到前端相应的数据路径,达到不需要与后端交互的目的, 一般前端会有数据的样本,这样就可以一体测试了. mock.js可以配合axios.js来使用, 注入到相应阶段, 但是单元测试就是另外一回事了.

可以查看这个框架在github上面的wiki有一些说明,是 bdd-behavior driven development的意思: https://github.com/jasmine/jasmine/wiki

https://jasmine.github.io/pages/getting_started.html

采用了describe的 cmd?规范的方法 

describe("Jasmine", function() {
  it("makes testing JavaScript awesome!", function() {
    expect(yourCode).toBeLotsBetter();
  });
});

包要通过npm安装. 当然也可以用standalone的独立方式安装. wiki有说明.

基本的简单用法说明, 主要是spec文件和specrunner.html  这个例子在standalone里面有说明,这样就可以快速上手编写自己的spec和testcasespecrunner.html文件, 然后用于测试. 看来很简单,下下来看一下.

https://github.com/jasmine/jasmine/wiki/A-simple-project

从样例看来,有 jasmine.ajax.mock, describe, query selector, 主要测试的是html页面在走过ajax的请求过后结果和内容和正确性, 也就是front-end的单元测试, 我们没有用selium这样的测试化工具去测试浏览器相关的东西, 不过jasmine也是类似和样子, 不停切换dom上下文, 取内里的内容达到验证 前端代码的目的.

原文地址:https://www.cnblogs.com/hualiu0/p/13321187.html