👍 ArchUnit для Python: архитектурные правила как юнит-тесты — 30 июня 2026 г. в 16:41:57.822
👍 ArchUnit для Python: архитектурные правила как юнит-тесты Python не заботится о том как вы организуете код. Нет компилятора который закричит когда route handler импортирует напрямую из слоя базы данных. Нет ошибки при циклической зависимости между модулями. Всё работало пока проект не вырос. А потом кто-то импортировал sqlalchemy прямо в Pydantic-схему — потому что так быстрее. ArchUnitPython решает это: архитектурные правила живут рядом с обычными тестами и запускаются в pytest. 🚫 Запретить зависимости между слоями from archunitpython import project_files, assert_passes def test_presentation_should_not_depend_on_database(): rule = ( project_files("src/") .in_folder("**/presentation/**") .should_not() .depend_on_files() .in_folder("**/database/**") ) assert_passes(rule) 🔄 Запретить циклические зависимости def test_no_circular_dependencies(): rule = project_files("src/").should().have_no_cycles() assert_passes(rule) Когда правило нарушается — тест падает с понятным сообщением. Никаких отдельных конфигов и команд. ✅ Что проверяет — направление зависимостей между слоями — циклические зависимости — нарушения именования — превышение размера файлов — внешние модули в неположенных местах pip install archunitpython

