configparser.NoSectionError: No section: ‘MODE’
很开心,今天在写代码的过程中又遇到了新的错误,代码如下:
运行代码块:
# 导入单元测试模块
import unittest
import HTMLTestRunner
# 导入测试用例
from API_TestCase.api_testcase import TestHttpRequest
# 使用ddt的话 必须使用loader 因为ddt已经先运行并传入数据了,所以直接加载用例就可以
loader = unittest.TestLoader()
# 创建存储用例的容器
suite = unittest.TestSuite()
suite.addTest(loader.loadTestsFromTestCase(TestHttpRequest))
# 执行用例
with open('Talkcloud_API_Report.html','wb') as file:
runner = HTMLTestRunner.HTMLTestRunner(stream=file, verbosity=2)
runner.run(suite)
关联代码一:
def get_data(self):
"""mode:(也可以起其他名字)控制是否执行所有的用例,默认值为all,表示执行所有的用例,
如果不等于all,就进入分值判断。mode的值只能输入all和列表这两种类型的参数。"""
#读取配置文件
mode = ReadConfig().read_config('cases.config', 'MODE', 'mode')
print(mode)
wb = load_workbook(self.file_name)
sheet = wb[self.sheet_name]
max = sheet.max_row
# 定义一个空列表
test_data = []
关联代码二:
[MODE]
mode = all
代码目录结构:
报错信息如下:
在刚发现这个报错信息的时候是很开心的,因为自己能看懂,能明白这个报错指的的“运行过程中没有找到名为MODE的section”。但调试起来头都快大了,自己仅仅局限在读取配置文件这块,翻来覆去查看代码,配置文件写的没有问题,配置数据也OK,模块单独调用也能成功,但是放在代码里,运行就是报错,最后只好求助来哥,在大神的帮助下,发现是文件路径的问题,将代码mode = ReadConfig().read_config(‘cases.config’, ‘MODE’, ‘mode’)改成mode = ReadConfig().read_config(r’C:\Users\Administrator\PycharmProjects\Talkcloud_API\API_data\case.config’, ‘MODE’, ‘mode’)就解决问题啦!
最后得出一个结论,如果以后遇到这种调用方法引入文件的,代码没问题,还一直报错的,一定要查看文件路径!