使用Jasmine对angularJS应用程序进行单元测试时,$ interval未定义

时间:2016-03-14 09:48:53

标签: javascript angularjs unit-testing jasmine

使用Jasmine为我的应用程序编写单元测试时,我有一个需要测试的$ interval函数。为此,我试图注入$ interval并调用$ interval.flush();

我有以下代码(这是一个剥离版本)

describe("whatever", function () {

var $interval;

beforeEach(function () {
    angular.mock.module('whatever');

    angular.mock.inject(function (_$interval_) {
        $interval = _$interval_;
    });
});

describe("requestIntervalFunction", function () {
           $interval.flush(21000); //this gives me error "Cannot read property "flush" of undefined
        });

我的问题是,怎么说$ interval是未定义的?

1 个答案:

答案 0 :(得分:0)

您错过了specificaton部分。这就是您收到此类错误的原因。

通过定义it功能

添加
describe("requestIntervalFunction", function() {
        it("test",function(){
            $interval.flush(21000); //this gives me error "Cannot read property "flush" of undefined    
        })

    });