主要是整理做为学习笔记,方便往后复习
复制代码
建立 test.js 文件node
// test.js
const assert = require('assert')
// 待测试代码
function sum(...arr) {
return arr.reduce((p, n) => p + n)
}
// 测试代码
assert(sum(1, 2) === 3, ' 预期 sum(1, 2) 返回 3')
复制代码
执行 test.js, node test.js
npm
assert.js
错,则测试没有经过assert
模块很是简单,它断言一个表达式为true。若是断言失败,就抛出Error函数
在一个 js 中常常会写不少测试代码,若是有一条报错,那么以后的测试将不会执行。有什么办法能够执行一次,就知道哪些测试没有经过呢? mocha
, 这里不对 mocha
过多讲解,只给出一个例子学习
安装 npm install mocha -g
测试
// test.js
const assert = require('assert')
// 待测试代码
function sum(...arr) {
return arr.reduce((p, n) => p + n)
}
describe('个人第一次测试', () => {
it('sum(1, 2) should return 3', () => {
// 测试代码
assert(sum(1, 2) === 3, ' 预期 sum(1, 2) 返回 3')33')
})
})
复制代码
执行 mocha ./test.js
优化
value
为 true 时,测试经过value
为 false 时,测试不经过经过,抛出带有 message
的错误同 assert(value[, message])
ui
actual
== expected
为 true 时,测试经过actual
== expected
为 false 时,测试不经过经过,抛出带有 message
的错误actual
=== expected
为 true 时,测试经过actual
=== expected
为 false 时,测试不经过经过,抛出带有 message
的错误测试 actual
参数和 expected
参数之间的严格不相等,与 assert.notStrictEqual()
相反spa
测试 actual
参数和 expected
参数之间的深度相等。 深度相等意味着子对象的可枚举的自身属性也经过如下规则进行递归计算。code
若是值不相等,则抛出 AssertionError
,并将 message
属性设置为等于 message
参数的值对象
测试深度严格的不相等。 与 assert.deepStrictEqual()
相反。
指望 fn
函数抛出错误
error
<RegExp> | <Function> | <Object> | <Error>执行顺序以下
fn
是否抛出错误error
深度相等message
的错误断言 fn
函数不会抛出错误
若是 fn
抛出错误而且它与 error
参数指定的类型相同,则抛出 AssertionError
若是 value
不为 undefined
或 null
,则抛出 valu
抛出带有 message
的错误