【问题标题】:Meteor Velocity(Jasmine unit): Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL流星速度(茉莉花单元):错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调
【发布时间】:2014-12-17 02:15:43
【问题描述】:

这里有两个简单的例子。没有不必要的。他们不工作。错误输出到控制台。

没有异步测试有效。这些 - 不是。

为流星应用程序编写测试。

关于jasmine.DEFAULT_TIMEOUT_INTERVAL我已经知道了,是5000

describe("Jasmine async tests", function(){

        it("First test with timeout", function(done){
            Meteor.setTimeout(function(){
                done();
            }, 300);
        });

        it("Second test, request to google.com", function(done){
            HTTP.get("http://google.com/", {}, function(){
                done();
            });    
        });
});

输出到控制台:

I20141021-21:08:35.178(3)? Async Login Test response to google.com
I20141021-21:08:35.179(3)? Error: Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
I20141021-21:08:35.180(3)? at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

【问题讨论】:

  • 你使用 sanjo:jasmine 并且这是一个服务器单元测试吗?
  • @Sanjo,是的,这是服务器测试。 sanjo:jasmine@0.4.16.

标签: asynchronous meteor jasmine velocity unit-testing


【解决方案1】:

在单元测试模式下,大部分 Meteor API 都被删除了。这意味着调用Meteor.setTimeoutHTTP.get 只会执行一个空函数,因此什么也不做。你的回调永远不会被调用。

您可以在此处找到使用的存根:https://github.com/meteor-velocity/meteor-stubs/blob/master/index.js

也相关:https://github.com/Sanjo/meteor-jasmine/issues/55#issuecomment-61026304

【讨论】:

    猜你喜欢
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 2016-04-21
    • 2019-01-07
    • 1970-01-01
    • 2020-05-28
    相关资源
    最近更新 更多