對於簡單的應用程序,例如「Hello World」,我可以在哪裏編寫測試。如何測試一個Angular應用程序?
我創建了一個plnkr。 http://plnkr.co/edit/M0GAIE837G3s1vNwTyK8?p=info
現在這是一個非常簡單的plnkr,它除了顯示Hello World外什麼也不做。 現在,如果我想爲這個應用程序編寫一個測試,例如MainCtrl ..我應該在哪裏插入它?
對於簡單的應用程序,例如「Hello World」,我可以在哪裏編寫測試。如何測試一個Angular應用程序?
我創建了一個plnkr。 http://plnkr.co/edit/M0GAIE837G3s1vNwTyK8?p=info
現在這是一個非常簡單的plnkr,它除了顯示Hello World外什麼也不做。 現在,如果我想爲這個應用程序編寫一個測試,例如MainCtrl ..我應該在哪裏插入它?
要使用角噶茉莉花運行測試:
您需要安裝nodejs,噶結點的頂部
您需要從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
只需點擊進入,直到它完成;底線這將創建一個文件名爲:
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...
});
});