Como configuro o Karma para executar meus testes de unidade de back-end (escritos com Mocha)? Se eu adicionar meu script de teste de back-end ao files = []
, ele falha, declarando que require
é indefinido.
node.js
mocha
karma-runner
Sylvain
fonte
fonte
Respostas:
Você não. Karma serve apenas para testar o código baseado em navegador. Se você tiver um projeto com testes mocha no back-end e karma / mocha no front end, tente editar seu package.json em scripts para definir o teste para:
mocha -R spec && karma run karma.con
Então, se
npm test
retornar verdadeiro, você saberá que é seguro confirmar ou implantar.fonte
Parece que não pode ser feito (obrigado @dankohn). Aqui está minha solução usando o Grunt:
Karma: atualize seu arquivo karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(para ter resultados embutidos)Grunhido:
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 (opcional): configure o grunt-watch para ser executado após alterar os arquivos de especificação ou os arquivos a serem testados.
execute todos usando o
grunt
comando.fonte