社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
前言: 测试的意义在于,在用户消费代码前,开发者先消费一下,给予其重要的质量保证。
单元测试就是用来保证最小单元是否正常的检测方法。我们主要使用node.js模块里assert这个模块,在程序运行的过程中,我们遇到断言的位置,则判断一下断言是否为真,若判断为真,则继续运行。否则则中止程序的运行,并且出现对应的报错信息。
总而言之,断言就是用于检测程序运行过程中是否符合预期的期望。我们要对代码的输出结果做断言检查。
我们可以通过引用assert模块,进行测试:
//test.js
const assert = require('assert');
assert.equal(-1,[1,2,3].indexOf(3));
运行node test.js,看到控制台出现了相应的报错:
修改test.js如下,再次运行则正常了。
//test.js
const assert = require('assert');
assert.equal(-1,[1,2,3].indexOf(4));
如上面所示,断言一旦检查到失败,将会跑出AssertionError异常,整个程序就会停止执行,这样子对大规模的断言检查时是不友好的。我们更希望的是在检查的过程中,遇到异常先记录下抛出的异常并可以继续执行,最终输出一份测试报告。
扮演这些职责的角色就是我们要用到的测试框架。测试框架本身不参与测试,只是负责用来管理测试案例以及生成测试报告等服务测试案例的一些工作。其中优秀的单元测试框架就是mocha。
先全局安装一下mocha:
npm install mocha -g
修改一下test.js
var assert = require('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(3))
})
})
})
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal(-1, [1, 2, 3].indexOf(4))
})
})
})
运行mocha,则可以看到我们输出的测试报告,而且当程序出现异常的时候也不会暂停会继续运行检测:
感谢阅读,希望能帮助到你~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!