0

我正在为我的流星项目写笑话测试。我正在尝试在 Meteor.methods 中测试代码,但我不确定如何使用 Jest 来测试。

在服务器端(也是 main.js),代码片段如下所示,

Meteor.methods({
        'shops.get': () => { return ShopList.find({}).fetch();},
)};

在 main.test.js 中,我写了类似的东西

describe('methods', () => {
    let shops=[];
    beforeEach(() => {
    Meteor.call('shops.get',(e,r)=>{
      if(!e) shops=r;
    });
 });
});

但是会出现错误:

    ReferenceError: Meteor is not defined

我读过一篇文章提到在文件中伪造流星。(https://blog.meteor.com/real-world-unit-tests-with-meteor-and-jest-3d557e84e84a),但我不确定这样如何解析 Meteor.call 或 Meteor.methods 等符号。

任何想法表示赞赏。

4

1 回答 1

0

查看https://guide.meteor.com/testing.html以获取有关测试的信息。

这是一个集成测试,因为您正在测试数据库功能,您应该使用 Meteor 来运行测试,否则您有很多模拟工作要做,然后除了模拟按预期工作之外,您并没有证明太多。

因此meteor test,请使用该命令和适当的驱动程序,例如https://atmospherejs.com/meteortesting/mocha - 这不是开玩笑,但它会给你想要的结果。

如果您需要更多信息,如果您愿意,我可以为您提供一些示例代码。

于 2019-05-23T10:23:00.207 回答