我在名为server.js的文件中有以下代码:
Meteor.startup(function(){
setupMail();
});
我想创建一个单元测试,以确保在setupMail
中调用Meteor.startup
。我怎么做?这就是我在serverSpec.js中所拥有的:
describe("Meteor startup", function(){
it("should call setupMail", function(){
spyOn(global, "setupMail").and.callThrough();
expect(setupMail).toHaveBeenCalled();
});
});
测试正在运行,但它没有通过。我认为这是因为Meteor.startup
是残缺的。有什么方法可以测试看回调内部传递了什么?
答案 0 :(得分:-1)
请参阅此链接:
http://xolv.io/blog-posts/2013/04/unit-testing-with-meteor
我确实喜欢这个
Meteor.startup(initServer);
而不是
Meteor.startup(函数(){ initServer });
其中initServer只包含Meteor.publish调用,并且没有关注上面链接中给出的stub部分;
在测试中:
描述('服务器启动',功能(){
'use strict';
it('should publish Notes', function(){
spyOn(Meteor, 'publish');
Meteor.startup(initServer);
expect(Meteor.publish).toHaveBeenCalledWith('notes', findNotes);
});});
希望这有帮助