我需要通过mocha chai覆盖angularJs配置文件
我试过
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不是函数
我觉得我很亲近,但我在这里缺少什么?
答案 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');
}));
这对我有用