用于angularjs ui-route的mocha chai测试用例

时间:2015-02-25 12:31:19

标签: javascript angularjs mocha chai

我需要通过mocha chai覆盖angularJs配置文件

enter image description here

我试过

it('should load the page.', inject(function ($location, $rootScope, $state, $httpBackend) {
    $httpBackend.whenGET('scripts/select-line-module/views/select-line.html').respond('<div/>');
    var state = $state.get('selectLine');
    $rootScope.$digest();
    assert.isDefined(state.templateUrl()); 
    expect(state.templateUrl).toBe('scripts/select-line-module/views/select-line.html');
}));

我能够覆盖templateUrl函数但是测试用例失败了  错误:undefined不是函数

enter image description here

我觉得我很亲近,但我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

你的断言和期望发生了变化。您必须断言函数templateUrl已定义,并期望函数返回为字符串。

assert.isDefined(state.templateUrl); 期望(state.templateUrl())砥( '脚本/选择行模块/视图/选择-line.html');

但是,您可以检查状态是否已定义?我认为它可能是未定义的。

答案 1 :(得分:0)

我做的就像

it('should load the page.', inject(function ($state) {
    var state = $state.get('selectLine');
    assert.isDefined(state.templateUrl()); 
    expect(state.templateUrl()).to.equal('scripts/select-line-module/views/select-line.html');
}));

这对我有用