Qwen Code Assistant
|
47eddcf523
|
test: улучшение покрытия тестами
Добавлены тесты для улучшения покрытия:
- test_autowire.py: +12 тестов на edge cases (is_basic_type, _get_constructor_signature, _should_register)
- Покрытие autowire.py: 83% → 88%
- Покрытие exceptions.py: 87% → 97% (временно)
Итоговое покрытие критичных модулей: ~91%
Всего тестов: 168
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
|
2026-03-28 19:06:32 +00:00 |
|
Qwen Code Assistant
|
fe0e7dfd27
|
feat: автовайринг классов (@mark_autowired)
Реализована автоматическая регистрация конструктора и методов класса:
- @mark_autowired(repo) декоратор
- register_init=True: регистрировать конструктор (A,B)->Foo
- register_methods=True: регистрировать методы Foo->B
- skip_basic_types=True: пропускать базовые типы (int, str)
- priority: приоритет инжекторов
- verbose: предупреждения о дубликатах
Файлы:
- autowire.py: mark_autowired(), NonCommutativeWarning
- test_autowire.py: 19 тестов
- __init__.py: экспорт mark_autowired, NonCommutativeWarning
- AUTOWIRE_DESIGN.md: документация
Пример:
@mark_autowired(repo)
class Foo:
def __init__(self, a: A, b: B): ...
def into_B(self) -> B: ...
# Зарегистрировано: (A,B)->Foo, Foo->B
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
|
2026-03-28 18:47:54 +00:00 |
|