v0.5.0
Pre-release
Pre-release
deep_reloader v0.5.0
🎉 新機能
ワイルドカードインポート対応の大幅強化
- クロスパッケージワイルドカードインポート対応: 異なるパッケージ間の
from package import *を完全サポート - 相対インポートのワイルドカード対応:
from . import *パターンを含む全ワイルドカードパターンに対応
サブモジュール検出機能
from package import nameのnameがサブモジュールの場合も正しく追跡されるように改善
アーキテクチャ改善
- FromClauseクラス導入:
from句の処理を専門化したクラスを追加 - ImportClauseクラス導入:
ImportedSymbolsを置き換え、より明確なAPIを提供 - コード削減: リファクタリングにより約220行削減
🧪 テスト強化
単体テスト追加(46テスト新規作成)
ImportClause: 10テストFromClause: 12テストSymbolExtractor: 12テストModuleInfo: 4テストdeep_reloader: 8テスト
テスト構造改善
- テストピラミッド実現: 単体テスト79%(46個)、統合テスト21%(12個)の理想的な構造
- ディレクトリ分割:
tests/unit/とtests/integration/に整理 - 冗長テスト削減: 統合テストを38個から12個に削減
⚠️ 破壊的変更
pytest専用化
- スクリプト実行サポートを完全削除
- ❌
python tests/test_runner.py- 使用不可 - ❌
python tests/test_xxx.py- 使用不可 - ✅
pytestまたはpython -m pytest- 推奨
- ❌
移行方法:
# 以前(使用不可)
python tests/test_runner.py
# 現在(推奨)
pytest
# または
python -m pytest tests/