0

我正面临一个奇怪的行为,我希望你能帮助我。

我正在使用 sanjo:jasmine@0.20.2 和 velocity:meteor-stubs@1.1.0' 测试我的包
在我的测试中我这样做:

beforeEach(function () {
    MeteorStubs.install();
});

适用于 Meteor.users。

但是当在 Accounts 上使用 spyOn 时它不起作用。如果我在我的测试方法中这样做:

spyOn(Accounts, 'setPassword').and.callFake(function() {
  // do nothing
});
var result = MyService.changePassword(user, newPassword);
expect(Accounts.setPassword).toHaveBeenCalled();

html-reporter 报告:

Expected spy setPassword to have been called.

任何想法 ?
谢谢你的帮助。

4

1 回答 1

0

好的,我已经解决了这个问题。

感谢 stackoverflow Meteor: ReferenceError: Accounts is not defined

用于api.imply让您的应用访问包依赖项的导出符号。

我已将它添加到我的 package.js 文件中:

api.imply([
    'accounts-password'
  ]);

在这里查看完整的交流: https ://forums.meteor.com/t/meteor-stubs-spyon-accounts-not-working-when-testing-package/11109/9

于 2015-10-12T15:24:02.167 回答