我在方法上使用 assert(...)
来验证参数,例如
var assert = require('assert')
function someFunction(a, b, c) {
assert(a, 'a required')
assert(b, 'b required')
assert(c, 'c required')
}
我正在使用tap并希望编写一个测试来验证是否抛出了断言异常。我不能只测试是否抛出另一个错误,因为断言本质上是一个早期防护。错误的输入最终会引发错误。
最佳答案
您可以与 t.throws()
中的 assert.AssertionError
进行比较,例如
var test = require('tap').test
test('calling someFunction without arguments', function(t){
t.throws(function(){
someFunction()
}, new assert.AssertionError({
message: 'a required'
}), 'throws assert error')
t.end()
})
AssertionError
在其构造函数中采用一个对象,该对象的 .message
属性将与引发的异常进行比较。
关于node.js - 如何测试 node.js 中是否抛出特定异常并点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868858/