Дуже поширена структура каталогів навіть для простого модуля Python, схоже, полягає в тому, щоб розділити тести одиниць на власну test
директорію:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
наприклад, див. як цей проект Python .
Моє запитання просто Який звичайний спосіб насправді виконувати тести? Я підозрюю, що це очевидно для всіх, окрім мене, але ви не можете просто запустити python test_antigravity.py
з тестового каталогу, оскільки його import antigravity
вийде з ладу, оскільки модуль не на шляху.
Я знаю, що я міг би змінити PYTHONPATH та інші хитрощі, пов'язані з пошуковим шляхом, але я не можу повірити, що це найпростіший спосіб - це добре, якщо ви розробник, але не реально очікувати на використання ваших користувачів, якщо вони просто хочуть перевірити тести мимохідь.
Інша альтернатива полягає лише в тому, щоб скопіювати тестовий файл в інший каталог, але він здається трохи тупим і пропускає сенс їх розміщення в окремому каталозі.
Отже, якби ви тільки що завантажили джерело в мій новий проект, як би ви запустили одиничні тести? Я вважаю за краще відповідь, яка дозволить мені сказати своїм користувачам: "Для запуску одиничних тестів зробіть X".
unittest
інтерфейсу командного рядка, як описано в моїй відповіді нижче, щоб вам не довелося додавати каталог у шлях.