我正在尝试使用Jasmine为Angular Service创建一个简单的单元测试。 但是当我通过Karma运行测试时,我收到以下错误:
Failed to instantiate module app
而且我不知道为什么会收到此错误。我用Google搜索并尝试应用以下解决方案。但都没有效果。
但错误仍然相同。
这是一个非常简单的代码。请查看以下代码以供参考:
string.service.js
(function () {
"use strict";
angular
.module('app')
.factory("stringService", stringService)
function stringService() {
return {
checkForAlphaNumeric: checkForAlphaNumeric,
};
function checkForAlphaNumeric(string) {
var regex = /^[a-zA-Z0-9]+$/;
return regex.test(string);
}
}
})();
string.service.spec.js
describe("-----> String Service", function () {
var stringService;
beforeEach(function () {
angular.mock.module('app');
inject(function ($injector) {
stringService = $injector.get('stringService');
});
});
it("--> stringService should be Defined.", function () {
expect(stringService).toBeDefined();
});
});
karma.conf.js
// list of files / patterns to load in the browser
files: [
//External
'./node_modules/angular/angular.js', // Angular Framework
'./node_modules/angular-mocks/angular-mocks.js', // Loads the Module for Tests
'./node_modules/@uirouter/angularjs/release/angular-ui-router.js', // UI-Router
'./node_modules/angular-route/angular-route.js',
//Sub Modules
'./app/authentication/authentication.module.js',
//Main Module
'./app/app.module.js', // Angular App
//Controllers
'./app/authentication/login.controller.js',
//Services and Factories
'./app/services/string.service.js',
//Specs
'./app/licensing/licensing.controller.spec.js',
'./app/services/string.service.spec.js'
],
非常感谢任何帮助。
答案 0 :(得分:1)
我已经弄清楚我的情景中出了什么问题。让我解释一下:
希望这有助于某人。