Лучше собрать все тестовые файлы в одну папку или просто разрешить их распространять везде?
Теперь у меня есть проект на Python, я пишу код для юнит-тестирования во многих его папках, дерево выглядит так:
Project
├── module1
│ ├── submodule1
│ │ ├── base.py
│ │ ├── model.py
│ │ └── tests.py
│ ├── conn.py
│ ├── __init__.py
│ └── tests.py
├── errors.py
├── __init__.py
├── router.py
└── tests.py
Вы можете увидеть, что есть много tests.py
файлы в проектах, в корневой папке в модулях. Я использую нос, чтобы помочь мне сделать тестирование. Когда я хочу протестировать их все, просто запустите nosetests Project
в верхней папке все отлично работает.
Тогда возникает вопрос: я видел некоторые проекты, такие как торнадо, они помещают все тестовые файлы в одну папку, чтобы было понятно, как ими управлять (я полагаю), это лучший способ, чем то, что я делаю в настоящее время, если да, то Зачем? И в соответствии с философией Python, что-то не так в моем способе делать тест?
2 ответа
Лично я предпочитаю хранить свои тестовые файлы в определенном подкаталоге test
Тем не менее, мне нравится держать тест и код очень близко, поэтому у меня есть test
подкаталоги везде, где в моем проекте.
Project
├── module1
│ ├── submodule1
│ │ ├── base.py
│ │ ├── model.py
│ │ └── test
│ │ └── submodule1_test.py
│ ├── conn.py
│ ├── __init__.py
│ └── test
│ └── module1_test.py
├── errors.py
├── __init__.py
├── router.py
└── test
└── errors_test.py
└── router_test.py
Очень легко сделать упаковку с обходом всех тестовых каталогов.
Я поставил тесты под /test
папка, отдельная от источника. Это упрощает упаковку для тех случаев, когда я не хочу отправлять тестовый код.