From 08299b37dfda86e56e4f2b442f68ccd2da7a82e3 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 24 Oct 2025 23:15:35 +0800 Subject: feat: Enhance Processor, RuleExtractor, and Renderers with type hints and improved documentation - Added type hints to Processor methods for better clarity and type safety. - Improved documentation for Processor methods, including detailed descriptions of parameters and return types. - Refactored RuleExtractor to support optional configuration file loading and added error handling for file operations. - Enhanced MarkdownRenderer to handle both list and dictionary inputs, with improved rendering logic. - Created comprehensive examples and tests for all components, ensuring robust functionality and error handling. - Added example rules for D&D 5E and structured output files for various formats (JSON, HTML, Markdown). - Established a testing framework with clear instructions and coverage reporting. --- tests/run_tests.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/run_tests.py (limited to 'tests/run_tests.py') diff --git a/tests/run_tests.py b/tests/run_tests.py new file mode 100644 index 0000000..4cfc2d4 --- /dev/null +++ b/tests/run_tests.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +""" +测试套件运行器 +运行所有单元测试 +""" + +import sys +import unittest +from pathlib import Path + +# 添加 src 目录到路径 +src_path = Path(__file__).parent.parent / "src" +sys.path.insert(0, str(src_path)) + + +def run_all_tests(): + """运行所有测试""" + # 创建测试加载器 + loader = unittest.TestLoader() + + # 从当前目录加载所有测试 + suite = loader.discover( + start_dir=Path(__file__).parent, + pattern='test_*.py' + ) + + # 运行测试 + runner = unittest.TextTestRunner(verbosity=2) + result = runner.run(suite) + + # 返回结果 + return 0 if result.wasSuccessful() else 1 + + +if __name__ == "__main__": + sys.exit(run_all_tests()) -- cgit v1.2.3-70-g09d2