-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_tests.py
More file actions
59 lines (47 loc) · 1.48 KB
/
run_tests.py
File metadata and controls
59 lines (47 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env python3
"""
Test runner for MetaNovel-Engine
This script runs all unit tests and provides a summary report.
"""
import unittest
import sys
import os
# Add current directory to Python path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
def run_tests():
"""运行所有测试"""
# 发现并加载所有测试
loader = unittest.TestLoader()
start_dir = 'tests'
suite = loader.discover(start_dir, pattern='test_*.py')
# 运行测试
runner = unittest.TextTestRunner(verbosity=2)
result = runner.run(suite)
# 返回测试结果
return result.wasSuccessful()
def run_specific_test(test_module):
"""运行特定的测试模块"""
loader = unittest.TestLoader()
suite = loader.loadTestsFromName(f'tests.{test_module}')
runner = unittest.TextTestRunner(verbosity=2)
result = runner.run(suite)
return result.wasSuccessful()
if __name__ == '__main__':
print("MetaNovel-Engine 测试套件")
print("=" * 50)
if len(sys.argv) > 1:
# 运行特定测试模块
test_module = sys.argv[1]
print(f"运行测试模块: {test_module}")
success = run_specific_test(test_module)
else:
# 运行所有测试
print("运行所有测试...")
success = run_tests()
print("\n" + "=" * 50)
if success:
print("✅ 所有测试通过!")
sys.exit(0)
else:
print("❌ 测试失败!")
sys.exit(1)