Czy można przekazywać argumenty wiersza poleceń do skryptu Django manage.py
, w szczególności do testów jednostkowych? to znaczy, jeśli zrobię coś podobnegoDjango manage.py: Czy możliwe jest przekazanie argumentu wiersza poleceń (do testowania jednostkowego)?
manage.py test myapp -a do_this
Czy mogę otrzymać wartość do_this
w funkcji setUp
od badanej jednostki?
P.S. @Martin poprosił uzasadnienie zastosowania argumenty wiersza poleceń w testach:
Niektóre rozległe testy miały dużo czasu i nie muszą być wykonywane przed każdym popełnić. Chcę, aby były opcjonalne.
okolicznościowe komunikaty debugowania drukowane przez moich testów powinny być opcjonalne
Czasami po prostu chcę testy zaszaleć i wypróbować wiele więcej permutacji danych.
Wszystkie powyższe byłoby całkiem wygodne z opcjami wiersza poleceń. Raz na jakiś czas testowanie może być dużo obszerniejsze lub bardziej szczegółowe, w przeciwnym razie będzie szybkie.
Niezależnie od tak lub nie, czy nie ma większego sensu dodawanie argumentów do samego testu jednostki? To naprawdę jeden z głównych przypadków użycia testu jednostkowego - sprawdzanie różnych przypadków skrajnych itp. Jeśli zdefiniujesz różne funkcje testowe dla każdego przypadku, będziesz mógł wywoływać je osobno, np. 'Manage.py test myapp.mytestcase' –
@ Martin Fair point.Rozwinąłem swoje myśli w odpowiedzi (P.S.) – user4150760
ok, a następnie utworzyłbym funkcje takie jak 'testBasic',' testCrazy' itd. I przeprowadziłbym dowolny test, którego potrzebujesz przy zatwierdzaniu. Całkowicie zgadzam się, że uruchomienie całego zestawu testów dużego projektu przy każdym zatwierdzeniu może być denerwujące - dlatego powinieneś stworzyć nowy test dla zatwierdzenia lub wybrać test, z którym związany jest commit. –