小编Car*_*aza的帖子

摩卡测试不等待发布/订阅

使用Mocha + Velocity(0.5.3)进行Meteor客户端集成测试.我们假设我安装了自动发布包.

问题

如果从服务器插入MongoDB上的文档,则客户端mocha测试将不会等待订阅同步,从而导致断言失败.

代码示例

服务器端Accounts.onCreateUser钩子:

Accounts.onCreateUser(function (options, user) {
  Profiles.insert({
    'userId': user._id,
    'profileName': options.username
  });

  return user;
});
Run Code Online (Sandbox Code Playgroud)

客户端摩卡测试:

beforeEach(function (done) {
  Accounts.createUser({
    'username'  : 'cucumber',
    'email'     : 'cucumber@cucumber.com',
    'password'  : 'cucumber' //encrypted automatically
  });

  Meteor.loginWithPassword('cucumber@cucumber.com', 'cucumber');
  Meteor.flush();
  done();
});

describe("Profile", function () {

  it("is created already when user sign up", function(){
    chai.assert.equal(Profiles.find({}).count(), 1);
  });

});
Run Code Online (Sandbox Code Playgroud)

我怎么能让Mocha等待我的个人资料文件进入客户端,避免Mocha超时(从服务器创建)?

javascript testing velocity mocha.js meteor

1
推荐指数
1
解决办法
276
查看次数

标签 统计

javascript ×1

meteor ×1

mocha.js ×1

testing ×1

velocity ×1