【发布时间】:2014-01-27 22:45:37
【问题描述】:
我正在使用this answer 中解释的解决方案对我的节点应用程序中的事件进行单元测试。
但是,setTimeout 函数从不调用,因此我的测试在应该失败时通过了。
这是一个例子:
suite('myTests', function() {
test('myFunction_whenCalled_emitsEvent', function() {
var myClass = new MyClass();
var eventTimeout = setTimeout(function() {
assert(false);
}, 1000);
myClass.on('something', function() {
clearTimeout(eventTimeout);
});
myClass.doSomething(); // this does not emit the 'something' event
});
});
我预计这会在 1 秒后失败,只要不引发“某事”事件。
我在assert(false) 行中放了一个断点,它永远不会被命中。
有人能指出我正确的方向吗?谢谢。
【问题讨论】:
标签: javascript node.js unit-testing events mocha.js