Javascript Jasmine waitsFor在超时时抛出错误-应该是间谍,但得到了函数

Javascript Jasmine waitsFor在超时时抛出错误-应该是间谍,但得到了函数,javascript,jasmine,karma-runner,Javascript,Jasmine,Karma Runner,在测试异步行为时,我运行以下waitsFor/run配对。我希望Jasmine会打印错误消息“应该返回true”并继续,但它崩溃并抛出一个错误。错误内容为“未捕获错误:预期为间谍,但得到函数。” 这发生在Jasmine版本1.5的第1442行,使用Karma test runner通过grunt。堆栈跟踪中没有其他引用 我检查了几次文档,几个月来一直在使用waitsFor/runs。我错过了什么 waitsFor(function() { return false; }, 'should

在测试异步行为时,我运行以下waitsFor/run配对。我希望Jasmine会打印错误消息“应该返回true”并继续,但它崩溃并抛出一个错误。错误内容为“未捕获错误:预期为间谍,但得到函数。”

这发生在Jasmine版本1.5的第1442行,使用Karma test runner通过grunt。堆栈跟踪中没有其他引用

我检查了几次文档,几个月来一直在使用waitsFor/runs。我错过了什么

waitsFor(function() {
    return false;
}, 'should have returned true', 1750);

runs(function() {
    expect(0).toBe(0);
});

编辑:请注意,当waitsFor函数返回true时,测试通过,测试继续。

你能用fiddle/plunker重现这一点吗?很抱歉,我没有,我希望有人知道什么会破坏与此片段相关的测试。最终出现的问题是,在测试的早期,我编写了一个setTimeout,而不是waitsFor/runs。我认为karma在setTimeout执行回调之前进行了一些垃圾收集,回调中的expect子句抛出了一个错误。