AttributeError: 'TextTestResult' object has no attribute 'run'
时间: 2023-06-23 15:49:53 浏览: 64
根据错误提示,`TextTestResult` 对象没有 `run` 方法,导致 AttributeError 异常。这个问题的出现可能是因为在 `result` 对象上调用了 `run` 方法,而 `TextTestResult` 类并没有实现该方法。
通常情况下,我们使用 `TextTestRunner` 类来运行测试用例并获取测试结果。`TextTestRunner` 对象有一个 `run` 方法,该方法可以接受一个 `TestSuite` 对象作为参数,并返回一个 `TextTestResult` 对象。你可以将下面的代码片段用来运行测试用例并获取测试结果:
```
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(result)
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 测试报告。我们将 `result` 对象作为参数传递给 `BeautifulReport`,然后指定报告的文件名、描述和保存路径。在这个例子中,我们将报告保存在当前目录下的 `my_report.html` 文件中,并且在报告中添加了描述信息。
阅读全文