Używam standardowego modułu logowania python. Kiedy zadzwonię pod numer python manage.py test
, chciałbym wyłączyć rejestrowanie zanim wszystkie testy zostaną uruchomione. Czy istnieje sygnał lub jakiś inny rodzaj haka, który mógłbym użyć, aby wywołać funkcję logging.disable? Czy jest jakiś inny sposób wyłączenia rejestrowania po uruchomieniu python manage.py test
?Wyłącz rejestrowanie podczas testu manage.py?
Odpowiedz
Jedynym sposobem, jaki znam, jest edycja samego siebie ... niezbyt elegancka, ale przynajmniej powinna doprowadzić cię tam, gdzie powinnaś być.
Naprawiłem też test_extensions.
Jako łatwy Alternatywnie można wyłączyć rejestrowanie podczas uruchamiania testów w ustawieniach złożyć tak:
if 'test' in sys.argv:
logger.removeHandler(handler)
logger.setLevel(logging.ERROR)
Dzięki - działał jak czar! –
wolę uruchomić testy z oddzielnym settings_test.py, gdzie mogę usunąć niepotrzebne aplikacje, middleware i innych rzeczy, których nie potrzebuję podczas testów. I mogę wyłączyć wyjście rejestrowania tutaj również w ten sposób:
from settings import *
import logging
# direct all logging output to nowhere
class NullHandler(logging.Handler):
def emit(self, record):
pass
logging.getLogger().addHandler(NullHandler())
Tu jest rzeczywiście dużo lepszy sposób to zrobić, z django-nose jest kwarg:
Wystarczy uruchomić:
./bin/manage.py test --logging-clear-handlers
./manage.py: błąd: brak takiej opcji: --logging-clear-handlers –
Rzeczywiście, nie podałem, ale potrzebujesz django-nosa do tego: https://github.com/jbalogh/django- nos i https://nose.readthedocs.org/en/latest/usage.html?highlight=#cmdoption--logging-clear-handlers – Rmatt
najłatwiej Użyłem:
import logging
class MyTestClass(TestCase):
def setUp(self):
logging.disable(logging.CRITICAL)
ten nie wymaga edycji, łatanie, dodatkowe instalacje, i tak dalej. Wszystkie rejestrowanie jest całkowicie wyłączone.
Jeśli używasz django-nose, a następnie można dodać poniższy fragment do pliku settings.py
wyłączenia wyjścia logowania podczas uruchamiania ./manage.py test
NOSE_ARGS = [
'--nologcapture'
]
- 1. Wyłącz rejestrowanie kwarcu
- 2. Wyłącz rejestrowanie HikariPool
- 3. Wyłącz rejestrowanie dla konkretnej paczki
- 4. Wyłącz rejestrowanie zdarzeń routingu kątowego.
- 5. Wyłącz rejestrowanie w bibliotece harmonogramu
- 6. Wyłącz rejestrowanie boto bez modyfikowania plików boto
- 7. Wyłączyć rejestrowanie winston podczas uruchamiania testów jednostkowych?
- 8. rejestrowanie testu Natychmiastowe JUnit z <junit> Ant zadanie
- 9. Ułatw serwer SQL Server w manipulowaniu danymi - wyłącz rejestrowanie transakcji?
- 10. Wyłącz Google Analytics podczas opracowywania
- 11. Baza danych testu Django wygląda pusto podczas testu jest uruchamiana
- 12. Django manage.py runserver oznajmianie
- 13. Pycharm manage.py błąd autouzupełniania
- 14. Jak działa program manage.py?
- 15. java.lang.NoClassDefFoundError podczas uruchamiania testu JUnit w Netbeans
- 16. Jak wyłączyć @PostConstruct na wiosnę podczas testu
- 17. Ustawienia regionalne podczas testu urządzenia na Androidzie
- 18. Niepoprawny CurrentCulture podczas testu nUnit w TeamCity
- 19. Błąd npm ELIFECYCLE podczas uruchamiania testu
- 20. Renderuj widok podczas testu jednostkowego - ControllerContext.DisplayMode
- 21. Wyłącz cofanie podczas tworzenia/usuwania obiektu NSManagedObject
- 22. Wyłącz ListView Przewijanie podczas przesuwania ViewPager
- 23. Rejestrowanie wiadomości w teście junit z Androidem
- 24. Jak wyłączyć rejestrowanie debugowania migracji w django?
- 25. Rejestrowanie asynchroniczne
- 26. Rejestrowanie NSNotifications
- 27. Rejestrowanie PySpark?
- 28. Wyłącz drukowanie konsoli w Log4js
- 29. Wyłącz/wyłącz odziedziczone przejścia CSS3
- 30. Wyłącz rejestrowanie Java Xerces ("[Błąd krytyczny]: 1: 1: Treść nie jest dozwolona w prologu.")
Ach, ja nie pomyślałem, że (... no oczywiście) . Dzięki! –
@Eric, nie ma za co! –