gpt4 book ai didi

node.js - 如何使用 jasmine 测试是否在 Meteor.startup 中调用函数?

转载 作者:太空宇宙 更新时间:2023-11-03 22:40:09 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

请引用此链接:

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

我确实喜欢这个

Meteor.startup(initServer);

而不是

Meteor.startup(函数(){ 初始化服务器 });

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

在测试中:

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

'use strict';

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

希望这有帮助

关于node.js - 如何使用 jasmine 测试是否在 Meteor.startup 中调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33680634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com