2014-06-28 20 views
16

Jestem pewien, że jest to prosta poprawka, ale chciałbym przejrzeć komunikaty dziennika w konsoli PyCharm podczas uruchamiania testu jednostkowego. Moduły, które testuję, mają swoje własne rejestratory i zwykle ustawiałem program rejestrujący root, aby przechwytywać komunikaty debugowania na określonym poziomie i przesyłałem inne dzienniki do pliku. Ale nie mogę zrozumieć, jak to działa z testami jednostkowymi.Jak mogę zobaczyć komunikaty dziennika podczas testowania jednostki w PyCharm?

Używam modułu unittest2 i używam automatycznego wykrywania testu PyCharm (który prawdopodobnie opiera się na nosie, ale nie wiem).

Próbowałem oszukać przy konfiguracjach uruchamiania, ale nie wydaje się, aby to było proste.

Dokumentacja PyCharm również nie jest przydatna tutaj, jeśli którykolwiek z was tam pracuje.


W edycji: OCZEKUJE, że konsola przechwytuje komunikaty dziennika poziomu krytycznego. Chcę wiedzieć, czy istnieje sposób skonfigurowania tego, aby przechwytywać komunikaty poziomu debugowania.


Ten słupek (Pycharm unit test interactive debug command line doesn't work) sugerują dodanie opcji do konfiguracji wykonania, który nie wytwarza pożądany efekt -s.

Odpowiedz

6

Jedyne rozwiązanie, które znalazłem, to wykonanie normalnej konfiguracji rejestrowania na górze pliku z testami (zakładając, że prowadzisz tylko jedną próbę lub testową klasę): logging.basicConfig(level=logging.DEBUG). Upewnij się, że umieściłeś to przed większością instrukcji importu lub domyślne rejestrowanie dla tych modułów zostało już ustawione (było to trudne do wymyślenia!).

+0

dzięki za sugestię. Napisałem moduł, który otacza moduł logowania Pythona (chcę mieć jednolitą konfigurację rejestrowania w dużej bazie kodu) i już ustawiam podstawowe konfiguracje logów w tym module. – BenDundee

3

Musiałem dodać too --nologcapture opcji do nosetests jako param w pycharm 2016.3.2

Run> Edytuj konfiguracje> Ustawienia domyślne> Testy> Python Nosetests: Zainstaluj czek dla opcji wózków i dodać --nologcapture

+0

Ta praca dla mnie. –

0

Edit konfiguracjach:

  • usuwać stare konfiguracje
  • przejść do ustawień/testy Python/NoseTests
  • dodać --nologcapture do "Dodatkowe argumenty"

pracował jak "uroku" dla mnie w pycharm 2017.2.3

dzięki Bott

Powiązane problemy