嘲笑$ interval

时间:2015-03-12 10:32:23

标签: angularjs jasmine

我正在尝试模拟$ interval服务,这是我的控制器代码,

$interval(function() {
$scope.myFunction();
}, 300000);

我想写一个茉莉花测试并点燃间隔,

var $interval;
inject(function(_$interval_) {
$interval =  _$interval_;
});

it("Test case",function(){
$interval.flush(30000);
});

当我运行上面的测试用例时,控制器中的$ interval没有触发。我错过了什么。

提前致谢。

2 个答案:

答案 0 :(得分:1)

$intervalangular-mocks中有一个模拟实现。

$interval的模拟版本有一个用于控制刻度的flush方法

示例fiddle

答案 1 :(得分:0)

var $interval, futurems = 30001;
inject(function(_$interval_) {
   $interval =  _$interval_;
});

it("Test case",function(){
    $interval.flush(futurems);
});