Bardzo częstą strukturą katalogów nawet prostego modułu Pythona wydaje się być rozdzielenie testów jednostkowych na ich własny testkatalog:
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.pyz katalogu testowego, ponieważ import antigravityzawiedzie, 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”.
unittestinterfejsu wiersza poleceń, jak opisano w mojej odpowiedzi poniżej, więc nie musisz dodawać katalogu do ścieżki.