Jak skonfigurować Karmę, aby uruchamiała testy jednostkowe zaplecza (napisane za pomocą Mocha)? Jeśli dodam mój skrypt testowy zaplecza do pliku files = []
, nie powiedzie się, że require
jest niezdefiniowany.
Jak skonfigurować Karmę, aby uruchamiała testy jednostkowe zaplecza (napisane za pomocą Mocha)? Jeśli dodam mój skrypt testowy zaplecza do pliku files = []
, nie powiedzie się, że require
jest niezdefiniowany.
Odpowiedzi:
Ty nie. Karma służy tylko do testowania kodu opartego na przeglądarce. Jeśli masz projekt z testami mokka na zapleczu i karmą / mokką na froncie, spróbuj edytować plik package.json w skryptach, aby ustawić test na:mocha -R spec && karma run karma.con
Następnie, jeśli npm test
zwróci true, będziesz wiedział, że zatwierdzenie lub wdrożenie jest bezpieczne.
Wygląda na to, że nie można tego zrobić (dzięki @dankohn). Oto moje rozwiązanie wykorzystujące Grunt:
Karma: zaktualizuj swój plik karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(aby mieć wyniki w tekście)Chrząknięcie:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
Gruntfile.js:
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-karma');
grunt.initConfig({
simplemocha: {
backend: {
src: 'test/server-tests.js'
}
},
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
});
// Default task.
grunt.registerTask('default', ['simplemocha', 'karma']);
};
Grunt (opcjonalnie): skonfiguruj grunt-watch do uruchamiania po zmianie plików specyfikacji lub plików do przetestowania.
uruchom wszystko za pomocą grunt
polecenia.