Unit testing Meteor stubs spyOn帐户在测试软件包时不工作

Unit testing Meteor stubs spyOn帐户在测试软件包时不工作,unit-testing,testing,meteor,meteor-velocity,Unit Testing,Testing,Meteor,Meteor Velocity,我正面临一种奇怪的行为,我希望你能帮我 我正在使用sanjo测试我的软件包:jasmine@0.20.2速度:流星-stubs@1.1.0' 在我的测试中,我会: beforeEach(function () { MeteorStubs.install(); }); 适用于Meteor.com用户 但是当在帐户上使用spyOn时,它不起作用。 如果我在测试方法中这样做: spyOn(Accounts, 'setPassword').and.callFake(function() {

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

我正在使用sanjo测试我的软件包:jasmine@0.20.2速度:流星-stubs@1.1.0' 在我的测试中,我会:

beforeEach(function () {
    MeteorStubs.install();
});
适用于Meteor.com用户

但是当在帐户上使用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.
有什么想法吗? 谢谢你的帮助。
Yann

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

多亏了stackoverflow

使用api.IMPLE为您的应用程序提供对导出符号的访问权限 您的包依赖项

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

api.imply([
    'accounts-password'
  ]);
请参见此处的完整交换: