在我的NodeUnit测试中,我有这样一段代码:
exports['aTest'] = function(test){
...
var functionResult = test.doesNotThrow(aFunction(aParam));
...
}
但调用doesNotThrow(...)后,functionResult未定义 为什么test.doesNotThrow()不返回函数调用的结果? 那将是非常优雅的。
答案 0 :(得分:0)
它不返回source code中显示的任何内容,这是因为nodeunit依赖于AssertionError
来确定套件是否成功,正如您所见here
为什么你要它返回一些东西,你会期望什么样的回报价值? 该库的目的是测试您的断言。它不应该返回一个值,因为这意味着给你信息用这个值做一些事情,相反,当一个断言抛出你将得到一个控制台消息说你的测试被破坏。我相信这是一个很好的方法。
你的目标是在事情发生时得到通知,依靠图书馆告诉你什么破坏,而不是深入研究细节,这就是我相信作者选择这种方式的原因。