对于简单的应用程序,例如“Hello World”,我在哪里编写测试。
我创建了一个plnkr。 http://plnkr.co/edit/M0GAIE837G3s1vNwTyK8?p=info
现在这是一个非常简单的plnkr,除了显示Hello World之外什么都不做。 现在,如果我想为此应用程序编写测试,即MainCtrl ..我在哪里插入?
答案 0 :(得分:0)
使用Angular-Karma-Jasmine进行测试:
您需要安装nodejs,karma在节点上运行
您需要从命令窗口安装来自Node Packaged Modules的业力执行:
npm install -g karma
如果您打算使用Chrome和Firefox运行此功能,并且您在Windows上运行此功能,则需要添加2 environment variables:
CHROME_BIN = [Crome installation path/chrome.exe] FIREFOX_BIN =[Firefox installation path/firefox.exe]
4.执行后,使用命令窗口返回项目文件夹:
karma init
只需按Enter键直到完成;底线,这将创建一个名为:
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 }); };
重要提示:请确保在配置中包含角度模拟,inject
功能在该模块上。
5.返回到您的命令窗口,浏览karma.config.js
文件所在的位置并执行:
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...
});
});