Files
ArticleReplaceBatch/scripts/run_tests.py
2026-03-25 15:17:18 +08:00

51 lines
1.1 KiB
Python

#!/usr/bin/env python
"""
运行测试脚本 - 执行所有测试并生成报告
"""
import subprocess
import sys
from pathlib import Path
def run_tests(coverage: bool = False) -> int:
"""运行测试"""
project_root = Path(__file__).parent.parent
cmd = [sys.executable, "-m", "pytest", "tests/", "-v"]
if coverage:
cmd.extend([
"--cov=.",
"--cov-report=html",
"--cov-report=term-missing"
])
print(f"运行命令: {' '.join(cmd)}")
print("-" * 60)
try:
result = subprocess.run(cmd, cwd=project_root)
return result.returncode
except Exception as e:
print(f"运行测试失败: {e}")
return 1
def main():
"""主函数"""
import argparse
parser = argparse.ArgumentParser(description="运行测试")
parser.add_argument(
"--coverage", "-c",
action="store_true",
help="生成覆盖率报告"
)
args = parser.parse_args()
return run_tests(coverage=args.coverage)
if __name__ == "__main__":
sys.exit(main())