karma test runner pas en cours d'exécution des tests
Je suis en utilisant le karma avec le jasmin et le suivi en ligne guide d'installation à l'aide
npm install --save-dev karma
et d'autres nécessités
j'ai couru
./node_modules/karma/bin/karma start
et
karma start karma.conf.js
qui a ouvert un externe, le navigateur google chrome, montrant que le karma est connecté.
J'ai écrit un simple test unitaire pour l'un de mes fonctions il semble que ses pas l'exécution de tous les tests à tous les
C'est mon karma fichier de config.
//Karma configuration
module.exports = function(config) {
config.set({
//base path, that will be used to resolve files and exclude
basePath: '',
//testing framework to use (jasmine/mocha/qunit/...)
frameworks: ['jasmine'],
//list of files /patterns to load in the browser
files: [
'app/assets/components/angular/angular.js',
'app/assets/components/angular-mocks/angular-mocks.js',
'app/assets/javascripts/**/**/*.js',
'spec/javascripts/**/*.js'
],
//list of files /patterns to exclude
exclude: [],
//web server port
port: 8080,
//level of logging
//possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,
//enable /disable watching file and executing tests whenever any file changes
autoWatch: false,
//Start these browsers, currently available:
//- Chrome
//- ChromeCanary
//- Firefox
//- Opera
//- Safari (only Mac)
//- PhantomJS
//- IE (only Windows)
browsers: ['Chrome'],
//Continuous Integration mode
//if true, it capture browsers, run tests and exit
singleRun: false
});
};
mon test de l'unité
describe('Unit: AddMedicalService',function(){
beforeEach(module('DoctiblePreTreatment'));
var ctrl, scope;
beforeEach(inject(function($controller,$rootScope){
scope = $rootScope.$new();
ctrl = $controller('AddMedicalServiceModalCtrl',{
$scope: scope
});
}));
it('should create return true if var 1 is greater than var2 , false if other wise',
function(){
var compare1 = function(){
var var1 = 1;
var var2 = 0;
return var1 > var2;
}
var compare2 = function(){
var var1 = 0;
var var2 = 1;
return var1 > var2;
}
expect(compare1).toBeTruthy();
expect(compare2).toBeFalsy();
});
});
la fonction particulière dans le contrôleur im essayant de tester
(function() {
app.controller('AddMedicalServiceModalCtrl',['ProviderMedicalService','Treatment','$scope','$modalInstance',function(ProviderMedicalService,Treatment,$scope,$modalInstance){
$scope.newTreatment = {}
$scope.checkless = function(var1,var2){
var1 = parseInt(var1);
var2 = parseInt(var2);
if(var1 > var2){
return true;
}
else{
return false;
}
}
}]);
})();
ce qui est affiché sur la console quand je lance le karma
INFO [karma]: Karma v0.12.21 server started at http://localhost:8080/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 36.0.1985 (Mac OS X 10.9.4)]: Connected on socket MkqZfXcO6iIX4Od23QEr with id 9498055
Informations supplémentaires: je suis à l'aide d'angular-js avec ruby on rails. Je suis conscient qu'il y a du jasmin gem là-bas qui peut m'aider. Mais mon patron a insisté pour que nous devez essayer d'utiliser le karma pour faire nos tests unitaires/E2E pour anuglarjs partie et rspec pour les rails.
OriginalL'auteur Apprentice Programmer | 2014-08-08
Vous devez vous connecter pour publier un commentaire.
Sous
karma.config.js
, soitsingleRun
ouautoWatch
àtrue
. Dans votre cas, deux d'entre eux sont mis à false, et donc le karma n'est pas de lancer les tests.singleRun: Si c'est vrai, il capture les navigateurs, exécute les tests et les sorties avec 0 code de sortie (si tous les tests passés) ou 1 code de sortie (si un test a échoué).
autoWatch: d'Activer ou de désactiver regarder les fichiers et exécuter les essais à chaque fois que l'une de ces modifications de fichiers. En cas vous voulez regarder vos fichiers.
OriginalL'auteur Mahesh Sapkal