不加载在 karma-jasmine 框架中生成的测试用例
Not loading test cases generated in karma-jasmine framework
我正在尝试为控制器编写一个简单的测试用例,但它没有给出任何错误,也没有加载我编写的测试用例。
app.js
var myApp = angular.module('myApp',[ 'ui.bootstrap', 'dialogs', 'ui.router','base64','ngtimeago',
'cfp.loadingBar', 'ngStorage', 'ngCookies', 'ngTable','ngRoute',
'angularUtils.directives.dirPagination', 'ngSanitize','ngTagsInput',
'ngIdle','angular.filter','angular-encryption','ngImgCrop']);
loginController.js
myApp.controller("loginController",['$scope','$rootScope','$state','APIServices','$http','$localStorage','cfpLoadingBar','$log','sha256','MFEEDBACK_CONSTANT_MESSAGES',
function($scope, $rootScope, $state, APIServices, $http,$localStorage,cfpLoadingBar,$log,sha256) {
var lc = this;
lc.test = "hello";
}
loginController.specs.js
describe('Controllers', function(){
beforeEach(module('myApp'));
describe('loginController', function(){
var loginController;
beforeEach(inject(function($controller,$rootScope){
var state,mockStorage,APIService,mockHTTP,mockLoadingBar,log,sha256,messages;
var mockScope,mockRootScope = $rootScope.$new();
loginController = $controller('loginController',{
$scope:mockScope,$rootScope:mockRootScope,$state:state,APIServices:APIService,$http:mockHTTP,
$localStorage:mockStorage,cfpLoadingBar:mockLoadingBar,$log:log,sha256:sha256,MFEEDBACK_CONSTANT_MESSAGES:messages
});
}));
it('testCase1val should be working', function(){
expect(loginController.test).toBe('hello');
});
});
});
获取输出"Executed 0 of 0 ERROR (0.005 secs / 0 secs)"
我没有添加第三方依赖项,我在 app.js 文件中有。
最重要的是我们需要在 'karma.conf.js' 中添加所有必需的第三方 javascript 文件。
然后要在单元测试用例中添加这些依赖项,我们需要创建模拟 javascript 文件并将其命名为 "ui.router.js"。
并确保该文件应包含以下代码。
'use-strict';
angular.module('ui.router', []);
我们需要为 'app.js' 文件中声明的每个依赖项创建模拟 javascript 文件,并将这些文件添加到 'karma.conf.js'。
然后在加载应用程序之前加载它们模块如下。
beforeEach(function(){
module('ui.router');
module('ngTagsInput');
.
.
.
module('all your third party depedencies.');
});
beforeEach(module('myApp'));
我正在尝试为控制器编写一个简单的测试用例,但它没有给出任何错误,也没有加载我编写的测试用例。
app.js
var myApp = angular.module('myApp',[ 'ui.bootstrap', 'dialogs', 'ui.router','base64','ngtimeago',
'cfp.loadingBar', 'ngStorage', 'ngCookies', 'ngTable','ngRoute',
'angularUtils.directives.dirPagination', 'ngSanitize','ngTagsInput',
'ngIdle','angular.filter','angular-encryption','ngImgCrop']);
loginController.js
myApp.controller("loginController",['$scope','$rootScope','$state','APIServices','$http','$localStorage','cfpLoadingBar','$log','sha256','MFEEDBACK_CONSTANT_MESSAGES',
function($scope, $rootScope, $state, APIServices, $http,$localStorage,cfpLoadingBar,$log,sha256) {
var lc = this;
lc.test = "hello";
}
loginController.specs.js
describe('Controllers', function(){
beforeEach(module('myApp'));
describe('loginController', function(){
var loginController;
beforeEach(inject(function($controller,$rootScope){
var state,mockStorage,APIService,mockHTTP,mockLoadingBar,log,sha256,messages;
var mockScope,mockRootScope = $rootScope.$new();
loginController = $controller('loginController',{
$scope:mockScope,$rootScope:mockRootScope,$state:state,APIServices:APIService,$http:mockHTTP,
$localStorage:mockStorage,cfpLoadingBar:mockLoadingBar,$log:log,sha256:sha256,MFEEDBACK_CONSTANT_MESSAGES:messages
});
}));
it('testCase1val should be working', function(){
expect(loginController.test).toBe('hello');
});
});
});
获取输出"Executed 0 of 0 ERROR (0.005 secs / 0 secs)"
我没有添加第三方依赖项,我在 app.js 文件中有。
最重要的是我们需要在 'karma.conf.js' 中添加所有必需的第三方 javascript 文件。
然后要在单元测试用例中添加这些依赖项,我们需要创建模拟 javascript 文件并将其命名为 "ui.router.js"。
并确保该文件应包含以下代码。
'use-strict';
angular.module('ui.router', []);
我们需要为 'app.js' 文件中声明的每个依赖项创建模拟 javascript 文件,并将这些文件添加到 'karma.conf.js'。
然后在加载应用程序之前加载它们模块如下。
beforeEach(function(){
module('ui.router');
module('ngTagsInput');
.
.
.
module('all your third party depedencies.');
});
beforeEach(module('myApp'));