我尝试使用Chutpah和Jasmine在Visual Studio中设置我的Angular单元测试。
我收到此错误,我不确定原因:
这是在我的timelineservice.js文件中测试的代码(在我的角项目中,为我的第一次测试而简化)
angular.module('myApp').factory('timelineService',
[
function timelineServiceInit(){
return {
exciteText: function (msg) {
return msg + '!!!';
}
};
}
]
);
这是我的单元测试:
describe('basicService tests', function () {
var myservicenaam;
// excuted before each "it" is run.
beforeEach(function () {
angular.mock.module('myApp', []);
var $injector = angular.injector(['myApp']);
var myService = $injector.get('timelineService');
myservicenaam = myService;
});
//it's removed
});
奇怪的是(imho),当我调试时,代码首先转到'timelineservice.js'
文件,然后加载模块(这是正确的)。
我认为测试代码会先运行,然后加载模块。
在我的testproject中,我引用了angular文件和代码文件。
当我将angular.module('myApp', []);
代码放入timelineservice.js
文件时,一切正常。
答案 0 :(得分:1)
问题在于您使用的是setter模式而不是getter模式,因此您的应用程序无法正确加载。在测试之前尝试以下声明:
beforeEach(module('myApp'));