unittest.TextTestRunner() 的结果 beautiful report接收不了,为什么
时间: 2024-03-12 09:47:06 浏览: 95
可能是因为 `unittest.TextTestRunner()` 的结果是以文本形式输出的,而 `beautiful report` 接收的是 HTML 格式的测试报告。所以需要使用 `HTMLTestRunner` 或 `XMLTestRunner` 等输出 HTML 或 XML 格式的测试报告。
你可以使用 `HTMLTestRunner` 来生成 HTML 格式的测试报告,示例代码如下:
```python
import unittest
import HTMLTestRunner
class MyTest(unittest.TestCase):
def test_addition(self):
self.assertEqual(1+1, 2)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(MyTest)
with open('report.html', 'wb') as f:
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='My Test Report', description='This is a sample report')
runner.run(suite)
```
这样会生成一个名为 `report.html` 的 HTML 测试报告文件。
相关问题
runner = unittest.TextTestRunner() result = unittest.TestResult() br = BeautifulReport(result) 这个代码怎么改
这个代码片段没有具体的测试用例,所以它的作用不太清楚。不过,如果你想使用 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(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 中。
接下来,我们使用 unittest 的 TextTestRunner 来运行测试,将结果保存在 result 变量中。
最后,我们使用 BeautifulReport 生成 HTML 测试报告。我们将 TestResult 对象作为参数传递给 BeautifulReport,然后指定报告的文件名、描述和保存路径。在这个例子中,我们将报告保存在当前目录下的 my_report.html 文件中,并且在报告中添加了描述信息。
import unittest discove = unittest.defaultTestLoader.discover('D:\python\project\python3\',pattern='lesson*.py',top_level_dir=None) runner = unittest.TextTestRunner() runner.run(discove)
看起来你想要运行Python中的unittest测试用例,但是你的代码存在一些问题。首先,你的代码中使用的路径是Windows系统的路径,需要注意路径中的反斜杠需要使用转义字符。其次,你的代码中出现了语法错误,应该将多行语句分开写,或者使用括号将多行语句括起来。
以下是修正后的代码示例:
```
import unittest
discove = unittest.defaultTestLoader.discover('D:\\python\\project\\python3\\', pattern='lesson*.py', top_level_dir=None)
runner = unittest.TextTestRunner()
runner.run(discove)
```
请注意,修改后的代码中,路径中的反斜杠使用了转义字符,而且多行语句之间使用了换行符进行分隔。如果你的测试用例文件名是以"lesson"开头的Python文件,你可以使用上述代码来运行测试用例。
阅读全文