Лучше собрать все тестовые файлы в одну папку или просто разрешить их распространять везде?

Теперь у меня есть проект на 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 папка, отдельная от источника. Это упрощает упаковку для тех случаев, когда я не хочу отправлять тестовый код.

Другие вопросы по тегам