Node.js中的doesNotThrow返回undefined

时间:2013-07-15 14:51:20

标签: node.js nodeunit

在我的NodeUnit测试中,我有这样一段代码:

exports['aTest'] = function(test){
...
var functionResult = test.doesNotThrow(aFunction(aParam));
...
}

但调用doesNotThrow(...)后,functionResult未定义 为什么test.doesNotThrow()不返回函数调用的结果? 那将是非常优雅的。

1 个答案:

答案 0 :(得分:0)

它不返回source code中显示的任何内容,这是因为nodeunit依赖于AssertionError来确定套件是否成功,正如您所见here

为什么你要它返回一些东西,你会期望什么样的回报价值? 该库的目的是测试您的断言。它不应该返回一个值,因为这意味着给你信息用这个值做一些事情,相反,当一个断言抛出你将得到一个控制台消息说你的测试被破坏。我相信这是一个很好的方法。

你的目标是在事情发生时得到通知,依靠图书馆告诉你什么破坏,而不是深入研究细节,这就是我相信作者选择这种方式的原因。