br = BeautifulReport(result)运行到这一步,提示 AttributeError: 'TextTestResult' object has no attribute 'run'
时间: 2023-06-23 07:50:00 浏览: 36
如果在调用 `BeautifulReport(result)` 时出现 `AttributeError: 'TextTestResult' object has no attribute 'run'` 错误,可能是因为你传递给 `BeautifulReport()` 的 `result` 参数不是 `TextTestResult` 类型的对象。
在运行测试用例时,可以使用 `TextTestRunner` 类来运行测试并获取结果。`TextTestRunner` 的 `run()` 方法会返回一个 `TextTestResult` 类型的对象。你可以将这个对象传递给 `BeautifulReport()`,然后生成 HTML 报告。下面是一个示例代码:
```
import unittest
from BeautifulReport import BeautifulReport
class MyTest(unittest.TestCase):
def test_something(self):
self.assertEqual(1+1, 2)
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(MyTest('test_something'))
runner = unittest.TextTestRunner()
result = runner.run(suite)
br = BeautifulReport(suite)
br.report(filename='my_report.html', description='My Unit Test Report', log_path='.')
```
在这个示例中,我们创建了一个简单的测试用例 `MyTest`,它只有一个测试方法 `test_something`,它断言 `1+1` 的结果应该等于 `2`。然后,我们创建了一个 `TestSuite` 对象 `suite`,并将 `MyTest` 的 `test_something` 方法添加到该 `suite` 中。
接下来,我们使用 `TextTestRunner` 类来运行测试,将结果保存在 `result` 变量中。
最后,我们使用 `BeautifulReport` 生成 HTML 测试报告。我们将 `suite` 对象作为参数传递给 `BeautifulReport`,然后指定报告的文件名、描述和保存路径。在这个例子中,我们将报告保存在当前目录下的 `my_report.html` 文件中,并且在报告中添加了描述信息。