Pour exécuter test avec angulaire-Karma-Jasmine:
Vous devez installer nodejs, le karma fonctionne au-dessus du noeud
Vous devez installer le karma de Node Packaged Modules à partir de votre fenêtre de commande exécuter :
npm install -g karma
Si vous prévoyez d'exécuter cette fonction avec Chrome et Firefox et que vous exécutez cette fonction sur Windows, vous devez ajouter 2 environment variables:
CHROME_BIN = [Crome installation path/chrome.exe]
FIREFOX_BIN =[Firefox installation path/firefox.exe]
4. Retournez à votre dossier de projet en utilisant la fenêtre de commande, vous pouvez exécuter une fois sur place:
karma init
Juste appuyez sur Entrée jusqu'à ce qu'il se termine; ligne de fond cela va créer un fichier nommé:
karma.config.js
Dans mon projet, ce fichier ressemble à ceci, le vôtre sera probablement inclure des commentaires utiles sur les différents paramètres:
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
});
};
Important: Assurez-vous que vous avez inclus dans votre configuration, la fonction inject
est sur ce module.
5. Retour à la fenêtre de commande, accédez où votre fichier est karma.config.js
et et Execute:
karma start
À ce stade, vous serez bon d'aller commencer à écrire des tests avec le jasmin.
un simple test de jasmin pour votre contrôleur sera:
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...
});
});