【发布时间】:2015-10-30 12:45:59
【问题描述】:
我想对 Angular.js $timeout 进行单元测试,以检查它是否以正确的持续时间/延迟值调用。
断言看起来像这样:
expect($timeout).toHaveBeenCalledWith(n);
我的 Angular 代码大致如下所示:
$timeout(function() {
// do something
}, attrs.timeout || 30000);
我想确保在没有覆盖 (attrs.timeout) 的情况下使用 30000 调用它,并且使用覆盖调用它。
我试过这样的装饰器:
// from: http://stackoverflow.com/a/21536245/633056
beforeEach(module(function($provide) {
$provide.decorator('$timeout', function($delegate) {
return jasmine.createSpy($delegate);
});
}));
加上其他几种方法,但我似乎无法让它发挥作用。
我正在使用 Angular 1.3.20,Jasmine 2.3.4
任何建议都非常感谢。
【问题讨论】:
标签: angularjs unit-testing timeout jasmine