Доброго времени суток. Задался вопросом покрытия unit-тестами кода. В питоне с этим не особо работал до этого. Погуглив, не могу определиться, какой вариант правильный (сомневаюсь между двумя).
Исходя из n-ого опыта с Java, в жаба-проектах практикуется следующее:
src-|
-main
|-com.trolololo.foo
-test
|-com.trolololo.foo
То есть, есть директория с кодом, есть параллельная директория с тестами, и в ней повторяется структура основной директории.
Погуглив, нашёл такой пример для питона - тесты ложатся в пакет с основным кодом, в файл
tests.py или пакет
tests. Для Django видел примеры, когда в каждом аппликейшене в корне создаётся файл/пакет
tests, и всё пишется туда. Но вот не совсем понимаю, как быть при более сложной структуре.
Итак, есть 2 варианта:
1. По аналогии с Java, но структура повторяется в рамках аппликейшена:
project
|- app1
|- services
|- foo.py
|- bar
|- qwe.py
|- models.py
|- views.py
|- tests
|- test_models.py
|- test_views.py
|- services
|- test_foo.py
|- bar
|- test_qwe.py
2. Создавать файл tests.py, либо пакет tests рядом с кодом:
project
|- app1
|- services
|- foo.py
|- foo2.py
|- bar
|- qwe.py
|- test_qwe.py
|- tests
|- test_foo.py
|- test_foo2.py
|- models.py
|- views.py
|- tests
|- test_models.py
|- test_views.py
Какой вариант правильный?