Bardzo częstą strukturą katalogów nawet prostego modułu Pythona wydaje się być rozdzielenie testów jednostkowych na ich własny test
katalog:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
na przykład zobacz howto projektu Python .
Moje pytanie brzmi: Jaki jest typowy sposób przeprowadzania testów? Podejrzewam, że jest to oczywiste dla wszystkich oprócz mnie, ale nie można po prostu uruchomić python test_antigravity.py
z katalogu testowego, ponieważ import antigravity
zawiedzie, ponieważ moduł nie znajduje się na ścieżce.
Wiem, że mógłbym modyfikować PYTHONPATH i inne sztuczki związane ze ścieżką wyszukiwania, ale nie mogę uwierzyć, że to najprostszy sposób - to dobrze, jeśli jesteś programistą, ale nie realistycznie oczekujesz, że użytkownicy będą używać, jeśli chcą tylko sprawdzić testy przechodzący.
Inną alternatywą jest po prostu skopiowanie pliku testowego do innego katalogu, ale wydaje się nieco głupi i nie ma sensu umieszczania go w osobnym katalogu na początek.
Więc jeśli właśnie pobrałeś źródło do mojego nowego projektu, jak byś przeprowadził testy jednostkowe? Wolę odpowiedź, która pozwoli mi powiedzieć użytkownikom: „Aby uruchomić testy jednostkowe, wykonaj X”.
unittest
interfejsu wiersza poleceń, jak opisano w mojej odpowiedzi poniżej, więc nie musisz dodawać katalogu do ścieżki.