2013-05-21 15 views

Odpowiedz

79

Nie. Karma służy wyłącznie do testowania kodu opartego na przeglądarce. Jeśli masz projekt z testami mokka na zapleczu i karmą/mocha na interfejsie, spróbuj edytować plik package.json pod skryptami, aby ustawić test na: mocha -R spec && karma run karma.con

Następnie, jeśli npm test zwróci true, będziesz wiedział, że to bezpieczne do popełnienia lub wdrożenia.

+0

dzięki! Znalazłem rozwiązanie wykorzystujące Grunta, które już planowałem skonfigurować w moim projekcie. Zobacz moją własną odpowiedź. – Sylvain

+0

Zasadniczo wszystkie testery dla JS polegają na przeglądarce? To bezużyteczne. –

+4

Mocha i Jasmine nie polegają na przeglądarce, a jeśli chcesz uruchomić przeglądarkę bez głowy, rozważ użycie phantomjs. – dankohn

15

Wygląda na to, że nie można tego zrobić (dzięki @dankohn). Oto moje rozwiązanie używając Grunt:

  • Karma: zaktualizować plik twoi karma.conf.js

    • ustawić autoWatch = false;
    • ustawić singleRun = true;
    • ustawić browsers = ['PhantomJS']; (aby mieć wbudowanych wyników)
  • Grunt:

    • npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
    • Konfiguracja dwóch Grunt zadania (patrz plik grunt poniżej)

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): ustaw grunt-zegarek, aby rozpocząć t chodzi o zmianę testowanych plików lub samej specyfikacji.

  • uruchom wszystkie za pomocą komendy grunt.

+3

Nadal potrzebujesz przeglądarki, tylko przeglądarka jest bezgłową. Jak bezużyteczne, zdecydowanie nie używając karmy do testowania po stronie serwera. –

+5

Witam, to nie używa karmy dla backendu, to używa mocha, więc nie ma przeglądarki. Jest to wygodny sposób na przeprowadzenie wszystkich testów zaraz po zapisaniu pliku. – Sylvain

+0

Podczas gdy tak naprawdę nie potrzebowałem Karmy do tego, co robiłem, to doprowadziło mnie to do łatwej ścieżki, aby uzyskać stepowanie, aby automatycznie przeprowadzić testy mokki, więc dzięki za to. –

Powiązane problemy