使用实习生js与流星

时间:2015-04-13 12:19:22

标签: meteor intern

我正在Meteor上开始一个项目,我正在尝试使用实习生js进行测试。 所以,我有一个mongoDB集合,我正在尝试对它进行测试。

我在要测试的文件上有这个声明

this.Teams = new Meteor.Collection('teams');

我在这一行得到了这个错误:

ReferenceError : Meteor is not defined

有没有办法解决这个问题?

此致

1 个答案:

答案 0 :(得分:0)

不知怎的,我设法用TheIntern.js测试Meteor应用程序。

虽然这符合我的需要。但我认为它可能会引导某人走向正确的方向,我正在分享我为解决这个问题所做的工作。

有一个execute函数允许我们运行JS代码,我们可以访问浏览器window对象,因此也可以访问Meteor

想要了解有关execute

的更多信息

这是test suite查找功能测试

的方式
define(function (require) {
    var registerSuite = require('intern!object');
    var assert = require('intern/chai!assert');
    registerSuite({
        name: 'index',

        'greeting form': function () {
            var rem = this.remote;
            return this.remote
                .get(require.toUrl('localhost:3000'))
                .setFindTimeout(5000)
                .execute(function() {
                        console.log("browser window object", window)
                        return Products.find({}).fetch().length
                    })
                .then(function (text) {
                    console.log(text)
                    assert.strictEqual(text, 2,
                        'Yes I can access Meteor and its Collections');
                });
        }
    });
});

要了解更多信息,这是我的gist

注意:我仍然处于这个解决方案的早期阶段。我不知道我是否可以用这个来做复杂的测试。但我对此非常有信心。