2015-06-11 12 views
15

Próbuję dostać Stambuł do pracy.Zakres kodu Istanbul dla testów Mokka

Wciąż dostaję ten komunikat na końcu uruchomiony Istanbul:

No coverage information was collected, exit without writing coverage information

Próbowałem wszystko udało mi się znaleźć w Internecie, jak widać:

 "scripts": { 
     "start": "node ./bin/start.js", 
     "test": "mocha test --no-timeouts", 
     "debug_mocha": "node-debug --no-timeouts _mocha", 
     "eslint": "eslint .", 
     "jshint": "jshint --exclude ./node_modules .", 
     "istanbul": "istanbul cover --include-all-sources --hook-run-in-context node_modules/.bin/_mocha -- -u exports -R spec test/**/*", 
     "istanbul2":"istanbul cover node_modules/.bin/_mocha -- -u exports -R spec test/**/*", 
     "istanbul1":"istanbul cover node_modules/.bin/_mocha -- test/**/*", 
     "istanbul0":"istanbul cover _mocha test/**/*.js", 
     "istanbul3":"istanbul cover _mocha -- -R spec --recursive test" 
     } 

mój .istanbul.yml plik jest u podstaw projektu i wygląda na to, że Stambuł z powodzeniem go zbiera.

//.istanbul.yml 
    instrumentation: 
     compact: false 
     save-baseline: true 
    reporting: 
     reports: 
     - lcov 
     - cobertura 

Czego mi brakuje?

+0

Czy możesz udostępnić testowany kod i użyć specyfikacji, aby je przetestować? – JME

+0

Witam JME..strasznie co masz na myśli specyfikacji używanych do ich testowania? –

+0

Specs = testy ;-) – JME

Odpowiedz

6

Spróbuj tego, maj działa dla Ciebie. tag Script w swojej package.json

"cover" : "NODE_ENV=test babel-node ./node_modules/babel-istanbul/lib/cli cover --dir ./coverage _mocha -- -R spec --ui bdd ./test/setup.js ./test --recursive" 

setup.js będzie twoje ustawienia javascript

./test będzie folder, w którym wszystkie testy siedzi.

pakiety należy zainstalować:

  • babel-Istanbul
  • babel-węzeł
  • mokka

Działa to dla mnie :) (npm Pokrywa run)


Uwaga: , jeśli na okien: usunąć NODE_ENV = test, i może wymagać, aby _mocha pełną ścieżkę do folderu modułu węzła

0

Jeśli utworzenie nowego projektu i próbuje Stambuł do pracy, zapewnienie masz co najmniej jeden plik testowy, który odwołuje się do co najmniej jednego pliku projektu dla Stambułu, aby wskazać jego raport dotyczący zasięgu.

"istanbul": "0.4.4", 
    "mocha": "3.0.0" 

W moim przypadku było utworzenie nowego projektu i uzyskanie pierwszych index.js i test/index.spec.js plików dobrze przygotowane.Kiedy próbowałem uruchomić:

"test": "istanbul cover --report html node_modules/mocha/bin/_mocha -- test/**/*.js --ui bdd -R spec" 

mam wyjście z mocha wszystkich testów jednostkowych przechodzących (które istniały jeszcze żadne testy napisany tak wszystko 0 z nich przeszły), ale potem otrzymał ten błąd po tym:

No coverage information was collected, exit without writing coverage information

kwestia okazało się, że jeszcze nie dodał require pliku w pliku test/index.spec.jsindex.js jeszcze. Stambuł nie miał plików, które mogłyby odwoływać się z plików testowych, aby sprawdzić informacje o zasięgu.

Jeśli jest to kwestia pathing do _mocha odwoływać w skrypcie npm, tam będzie dodatkowym „SyntaxError:” wiadomość, że następuje „Brak informacji o pokrycie zebrano” wiadomość.

Powiązane problemy