Używam narzędzia do uruchamiania testów javascript „Mocha”.
Mam test, który kończy się niepowodzeniem, więc chciałbym go debugować za pomocą console.log
.
Ale kiedy testy są uruchamiane, nie ma wyjścia (tylko wyniki testów z Mocha). Wygląda na to, że Mocha złapał i stłumił mójconsole.log
twórczość!
Jak mogę sprawić, by Mocha wyświetlała mój wynik? (w przypadku testów, które kończą się niepowodzeniem)?
EDYTOWAĆ:
Ogromne przeprosiny! -console.log
działa podczas testów! Musiałem się spodziewać, że zablokuje dane wyjściowe i nie sprawdziłem poprawnie własnego kodu. Dziękuję za odpowiedź. Więc ... to powiedziawszy ... może właściwie byłoby miło wyłączyć wyjście testów, które przeszły pomyślnie? hmm ...
A propos: Chcę użyć console.log
ponieważ mam wiele problemów z próbą uzyskania debugera Eclipse, aby połączyć się z node.js.
Czy tylko ja uważam to za trudne? Jak debugujecie node.js? Z debugerem czy z console.log
instrukcjami?
źródło
Odpowiedzi:
Jakich opcji mokki używasz?
Może ma to coś wspólnego z używaniem reportera (-R) lub ui (-ui)?
działa dobrze podczas moich przebiegów testowych, chociaż czasami jest trochę głupkowaty. Prawdopodobnie ze względu na asynchroniczny charakter przebiegu testu.
Oto opcje (mocha.opts), których używam:
Hmm ... po prostu przetestowany bez mokki. Działa i
console.log
nadal działa.źródło
Jeśli testujesz kod asynchroniczny, musisz upewnić się, że został umieszczony
done()
w wywołaniu zwrotnym tego kodu asynchronicznego. Miałem ten problem podczas testowania żądań http do REST API.źródło
Być może umieściłeś również swoje
console.log
po oczekiwaniu, które zawiodło i nie zostało przechwycone, więc Twój wiersz dziennika nigdy nie zostanie wykonany.źródło
Użyj biblioteki debugowania .
Użyj tego:
następnie uruchomić:
I to wszystko!
źródło