脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-ѧϰMocha,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。
Mocha(发音“摩卡”),是JavaScript测试框架之一,在浏览器和Node环境下都可以使用,在同步的测试,只需要直接判断函数的返回值是否和预期的一样,而异步的测试,就需要框架支持回掉、promise或其他的方式判断测试结果的正确性,Mocha可以支持JavaScript异步的单元测试
npm install --global mocha
mocha支持任何可以抛出一个错误的断言模块。例如:should.js、better-assert、expect.js、unexPEcted、chai等。
VAR assert = require('chai').assert; describe('Array', function() { describe('#indexOf()', function() { IT('should return -1 when the value is not PResent', function() { assert.equal(-1, [1, 2, 3].indexOf(5)); assert.equal(-1, [1, 2, 3].indexOf(0)); }); }); });
测试结果:
另一个例子:add.js
function add(x, y) { return x + y; } module.exports = add;
对应的测试脚本,add.test.js
var add = require('./add'); var expect = require('chai').expect; describe('加法函数的测试', function() { it('1加1应该等于2', function() { expect(add(1, 1)).to.be.equal(2); }); it('1加零的测试', function() { expect(add(1, 0)).to.be.equal(1); }); })
都是需要断言的,所以需要安装chai模块,npm install chai
输入mocha -t 5000 set.test.js
面命令将测试的超时时限指定为5000毫秒。<"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxWPSHtzeKjrMnPw+a1xLLiytTTw8D9wO/D5qOs09DSu7j2ZG9uZbqvyv2ho2l0v+nWtNDQtcTKsbryo6y0q8jr0ru49mRvbmWyzsr9o6y1sbLiytS94cr4tcTKsbryo6yx2NDrz9TKvbX308pv4rj2uq/K/aOsuObL301vY2hhsuLK1L3hyvjBy6Gjt/HU8qOsTW9jaGG+zc7et6jWqrXAo6yy4srUyse38b3hyvijrLvh0rvWsbXItb2zrMqxsai07aGjPC9wPg0KPGgyIGlkPQ=="测试用例的钩子">
测试用例的钩子
Mocha在describe块之中,提供测试用例的四个钩子:before()、after()、beforeeach()和afterEach()。它们会在指定时间执行。
describe('hooks', function() { before(function() { // 在本区块的所有测试用例之前执行 }); after(function() { // 在本区块的所有测试用例之后执行 }); beforeEach(function() { // 在本区块的每个测试用例之前执行 }); afterEach(function() { // 在本区块的每个测试用例之后执行 }); // test cases });
mocha --recursive -R markdown > spec.md,生成一个规格文件spec.md,-R markdown参数指定规格报告是markdown格式
mocha --recursive -R doc > spec.htML,生成HTML格式的报告
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!
以上是脚本宝典为你收集整理的javascript代码实例教程-ѧϰMocha全部内容,希望文章能够帮你解决javascript代码实例教程-ѧϰMocha所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。