2

我在名为 server.js 的文件中有以下代码:

Meteor.startup(function(){
    setupMail();
});

我想创建一个单元测试以确保setupMailMeteor.startup. 我怎么做?这就是我在 serverSpec.js 中的内容:

describe("Meteor startup", function(){
    it("should call setupMail", function(){
        spyOn(global, "setupMail").and.callThrough();
        expect(setupMail).toHaveBeenCalled();
    });
});

测试正在运行,但没有通过。我认为那是因为Meteor.startup被存根。有什么方法可以测试以查看回调中传递了什么?

4

1 回答 1

-1

请参考此链接:

http://xolv.io/blog-posts/2013/04/unit-testing-with-meteor

我确实喜欢这个

Meteor.startup(initServer);

代替

Meteor.startup(function(){ initServer });

其中 initServer 仅包含 Meteor.publish 调用并且没有遵循上面链接中给出的存根部分

在测试中:

describe('服务器启动', function(){

'use strict';

it('should publish Notes', function(){
    spyOn(Meteor, 'publish');
    Meteor.startup(initServer);
    expect(Meteor.publish).toHaveBeenCalledWith('notes', findNotes);
});});

希望这可以帮助

于 2016-03-10T05:55:36.653 回答