Próbuję dostać się do testowania w Pythonie za pomocą modułu doctest. W tej chwili wykonujęPython: Czy możliwe jest testowanie tylko konkretnych funkcji za pomocą doctest w module?
- Napisz testy dla funkcji.
- zaimplementuj kod funkcji.
- Jeśli testy minęły, napisz więcej testów i więcej kodu.
- Po zakończeniu tej funkcji przejdź do następnej funkcji do wdrożenia.
Więc po 3 lub 4 (niezależne) funkcje w tym samym module z wieloma testami otrzymuję ogromne wyjście przez doctest. I to jest trochę denerwujące.
Czy istnieje sposób, aby powiedzieć doctest „nie przetestować funkcje a()
, b()
i c()
”, tak, że działa tylko nieoznakowanych funkcje?
Znalazłem jedynie flagę doctest.SKIP
, która nie jest wystarczająca dla moich potrzeb. Musiałbym umieścić tę flagę w wielu liniach. I jeśli chciałbym ponownie sprawdzić funkcję oznaczoną, musiałbym ręcznie przejść przez kod i usunąć flagę, którą ustawiłem wewnątrz ...
Mam nadzieję, że rozumiesz, co mam na myśli ... :-)
Wszelkie sugestie?
Doctest nie jest zły na niektóre szybkie i brudne testy, ale zdecydowanie sugerowałbym przejrzenie bardziej zaawansowanej biblioteki testowej. Python zbudowany w module 'unittest' jest w rzeczywistości bardzo dobry. (http://docs.python.org/library/unittest.html) – Wilduck
@Wildluck: Wiem o pythons 'unittest', thanks. Ale teraz potrzebuję tylko * szybkiego i brudnego testowania *. :-) – Aufwind