Angularjs 如何测试Angular应用程序?
对于简单的应用程序,例如“Hello World”,我在哪里编写测试 我已经创建了一个plnkr。 这是一个非常简单的plnkr,它只显示Hello World。Angularjs 如何测试Angular应用程序?,angularjs,Angularjs,对于简单的应用程序,例如“Hello World”,我在哪里编写测试 我已经创建了一个plnkr。 这是一个非常简单的plnkr,它只显示Hello World。 现在,如果我想为这个应用程序编写一个测试,即MainCtrl。。在哪里插入?要使用Angular Karma Jasmine运行测试: 您需要安装,karma运行在节点顶部 您需要从命令窗口安装karma执行: npm install -g karma 在这一点上,您最好开始用jasmine编写测试 控制器的简单jasmine测试如
现在,如果我想为这个应用程序编写一个测试,即MainCtrl。。在哪里插入?要使用Angular Karma Jasmine运行测试:
describe('MainCtrl', function() {
var $scope, $rootScope, createController;
beforeEach(inject(function($injector) {
$rootScope = $injector.get('$rootScope');
$scope = $rootScope.$new();
var $controller = $injector.get('$controller');
createController = function() {
return $controller('MainCtrl', {
'$scope': $scope
});
};
}));
it('should have a...', function() {
var controller = createController();
// do your testing here...
});
});
karma init
karma.config.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'../app/*.js',
'../app/lib/angular.js',
'../app/lib/angular-route.min.js',
'../app/lib/angular-mocks.js',
'../app/app.js',
'controllers/*.js',
'services/*.js',
],
exclude: [
],
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome','Firefox'],
captureTimeout: 60000,
singleRun: false
});
};
karma start
describe('MainCtrl', function() {
var $scope, $rootScope, createController;
beforeEach(inject(function($injector) {
$rootScope = $injector.get('$rootScope');
$scope = $rootScope.$new();
var $controller = $injector.get('$controller');
createController = function() {
return $controller('MainCtrl', {
'$scope': $scope
});
};
}));
it('should have a...', function() {
var controller = createController();
// do your testing here...
});
});