单元测试报告 单元测试报告自动生成
我们引入必要的模块和库:
```python
import xmlrunner 用于生成XML格式的测试报告
import os 用于处理文件和目录操作
```
接着,我们定义一个测试类,该类继承了 `unittest.TestCase`,这是我们进行单元测试的基础。在类中,我们定义两个简单的测试方法:`test_addition` 和 `test_subtraction`。这两个方法分别测试加法和减法运算是否正确。
```python
class TestMathOperations(unittest.TestCase): 测试类名稍作修改,更直观地体现测试内容
def test_addition(self):
"""测试加法运算"""
self.assertEqual(1 + 1, 2) 断言两个数相加结果是否等于预期值
def test_subtraction(self):
"""测试减法运算"""
self.assertEqual(2 - 1, 1) 断言两个数相减结果是否等于预期值
```
接下来,我们进入主程序部分。我们需要创建一个用于存放测试报告的目录。如果该目录不存在,我们将创建它。然后,我们运行测试并将测试结果以XML格式保存到指定的文件中。
```python
if __name__ == '__main__': 当脚本被直接运行时,以下代码将被执行
创建测试报告目录
report_dir = 'test_reports' 报告存放目录名
if not os.path.exists(report_dir): 如果目录不存在
os.makedirs(report_dir) 创建目录
运行测试并生成XML报告
with open(os.path.join(report_dir, 'test_report.xml'), 'wb') as output_file: 打开文件用于写入测试报告
unittest.main( 运行所有测试
testRunner=xmlrunner.XMLTestRunner(output=output_file), 设置XML格式的测试报告输出到指定文件
failfast=False, 如果发现错误不立即停止测试
buffer=False, 不缓冲输出,实时显示测试结果
catchbreak=False 不捕获系统退出中断信号(如Ctrl+C)导致的异常
)
```