File "C:\Users\CVAchip\test\Download\Start.py", line 43, in start_devicemanagement_total br = BeautifulReport(runner.result) AttributeError: 'TextTestRunner' object has no attribute 'result'
时间: 2024-04-25 19:25:56 浏览: 116
这段代码的报错信息是 AttributeError: 'TextTestRunner' object has no attribute 'result',意思是 'TextTestRunner' 对象没有 'result' 属性。出错的原因可能是 runner 对象没有运行测试用例,或者 runner 对象不是一个支持 result 属性的类型。你可以检查一下代码中是否有没有运行测试用例的问题,或者使用一个支持 result 属性的 runner 类型。
相关问题
File "C:\Users\CVAchip\test\Download\Start.py", line 43, in start_devicemanagement_total br.report("离线上位机",filename="devicemanagement.html", report_dir="Test_report") File "D:\learn\Anaconda3\lib\site-packages\BeautifulReport\BeautifulReport.py", line 378, in report self.suites.run(result=self) TypeError: run() got an unexpected keyword argument 'result'
这个错误通常是由于使用了不兼容版本的unittest测试框架造成的。
在Python 3.1及以上版本中,unittest框架增加了一个result参数,用于指定测试结果的输出方式。而在Python 2.x版本中,unittest框架没有这个参数,因此会导致上述错误。
解决方法是:
1. 检查你的Python版本是否为3.1及以上版本,如果不是,可以升级Python版本。
2. 如果不能升级Python版本,可以考虑降级BeautifulReport或unittest框架的版本。可以尝试从BeautifulReport 0.1.1和unittest2中选择一个较旧的版本,以获得兼容的结果。例如:
```
pip install BeautifulReport==0.1.1
pip install unittest2==0.5.1
```
3. 可以尝试修改BeautifulReport源代码,将run()方法中的result参数去掉。但这种方式不建议使用,因为可能会影响BeautifulReport的其他功能。
File "C:\Users\CVAchip\test\Download\Start.py", line 44, in start_devicemanagement_total br.report("离线上位机",filename="devicemanagement.html", report_dir="Test_report") File "D:\learn\Anaconda3\lib\site-packages\BeautifulReport\BeautifulReport.py", line 378, in report self.suites.run(result=self) TypeError: run() got an unexpected keyword argument 'result'
根据报错信息,`run()`方法的参数列表中不包含`result`关键字参数,导致程序抛出了`TypeError`异常。这可能是因为你的`unittest`版本过低,无法支持`result`参数。你可以尝试升级`unittest`库,或者使用较新版本的`BeautifulReport`库。
另外,你也可以将`BeautifulReport`的版本降低到适配你当前`unittest`版本的版本,或者使用其他测试报告生成工具。
阅读全文