Я ищу советы по передовому опыту в следующем контексте:
- Я использую pytest для запуска интеграционных тестов в моем развертывании IAC
- Моя база кода IAC структурирована как:
myapp
|
|_roles
| |_role1
| |_role2
|_resources
|_tomcat
|_java
Я хотел бы использовать такую же структуру для моих тестовых файлов.
В настоящее время тесты разделены по ролям соответствия файлов (role1, role2):
tests
|
|_roles
|_test_role1.py
|_test_role2.py
, что приводит к дублированию кода, например:
role1 - базовое приложение tomcat,
role2 содержит чистый код Java,
Так что в обоих тестовых файлах (test_role1.py и test_role2.py) будет функция тестирования java.
Если бы я мог добавить структуру dir как:
tests
|
|_roles
| |_test_role1.py
| |_test_role2.py
|
|_resources
|_test_tomcat.py
|_test_java.py
Тогда я мог бы просто "включить / импортировать" функции test_java.py, чтобы использовать их в test_role1.py и test_role2.py без дублирования кода ...
Какой лучший способ добиться этого?
Я уже использую фикстуры (определенные в conftest.py), и я чувствую, что решение для моего дублированного кода - это что-то вроде модулей фикстур или тестовых модулей, но мои слабые знания Python / pytest держат меня в стороне от реального решения.
Спасибо