【发布时间】:2016-05-12 11:08:54
【问题描述】:
我正在使用带有 Angular 的 MeteorJS 并想测试控制器。我的控制器使用 $reactive(this).attach($scope)。我需要检查一下,是否调用了这个方法。
我为间谍创建了类似的东西:
var $reactive = function(ctrl) {
return {
attach:function(scope) {}
}
};
所以我可以这样称呼它:
$reactive('aaa').attach('bbb');
如何在测试中做到这一点?
spyOn($reactive, 'attach');
不起作用。我得到错误:attach() 方法不存在
以及如何检查它是否被调用? 这是个好电话吗?
expect($reactive).toHaveBeenCalledWith(controller);
以及如何检查是否使用 args(范围)调用了函数 attach?
【问题讨论】:
-
看起来
$reactive返回一个包含附加方法的对象,对吧?并且你想测试这个attach方法是否被调用。
标签: angularjs unit-testing meteor jasmine angular-mock