AttributeError: 'TextTestResult' object has no attribute 'run'
时间: 2023-06-23 19:44:49 浏览: 113
【Python入门自学笔记专辑】——Python异常处理
这个错误通常是由于在使用 `unittest.TextTestRunner()` 运行测试用例时,使用了 `result.run()` 的方式来获取测试结果,而 `TextTestRunner` 返回的是 `TextTestResult` 对象,而不是 `TestResult` 对象。因此,您需要使用 `result.wasSuccessful()` 或 `result.errors` 等属性来获取测试结果。例如:
```python
import unittest
from BeautifulReport import BeautifulReport
from DeviceManagement_testcases import *
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(DeviceManagementTest))
# 运行测试用例,并将测试结果存储在result变量中
runner = unittest.TextTestRunner()
result = runner.run(suite)
# 使用BeautifulReport生成测试报告
report = BeautifulReport(result)
report.report(description='Device Management Test Report', filename='device_management_report.html')
```
在上述代码中,我们使用 `runner.run()` 方法来运行测试用例,并将测试结果存储在 `result` 变量中。然后,使用 `result` 变量来创建 `BeautifulReport` 对象,并生成测试报告。这样就能避免 `'TextTestResult' object has no attribute 'run'` 错误的发生。
阅读全文