Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的 NodeUnit 测试中,我有这样一段代码:
exports['aTest'] = function(test){ ... var functionResult = test.doesNotThrow(aFunction(aParam)); ... }
但是调用doesNotThrow(...)后functionResult是未定义的,为什么test.doesNotThrow()不返回函数调用的结果呢?那将是相当优雅的。
如源代码所示,它不会返回任何内容,这是因为 nodeunit 依赖于AssertionError确定套件是否成功,如您在此处看到的
AssertionError
你为什么要它返回一些东西,你期望什么返回值? 该库的目的是测试您的断言。它不应该返回一个值,因为这意味着给你信息来用那个值做一些事情,相反,当一个断言抛出时,你会得到一个控制台消息,说你的测试被破坏了。我相信这是一个很好的方法。
您的目标是在发生故障时得到通知,依靠库告诉您发生了什么故障,而不是深入研究细节,这就是我相信作者选择这种方式的原因。