unittest报告出现dict() -> new empty dictionary错误解决办法
2018-10-17 16:45 _天枢 阅读(512) 评论(1) 编辑 收藏 举报unittest报告出现dict() -> new empty dictionary错误解决办法
说一下原因,这是由于unittest中采用了ddt驱动。 由于版本问题导致
问题如图:
解决办法:
重新安装ddt版本,降低其版本
1>查看ddt版本:
pip show ddt
2>卸载已安装的ddt
pip uninstall ddt
3>重新安装ddt 并指定其版本
pip install ddt==1.1.3
对比一下两个版本代码:
旧版:1.1.3
for name, func in list(cls.__dict__.items()): if hasattr(func, DATA_ATTR): for i, v in enumerate(getattr(func, DATA_ATTR)): test_name = mk_test_name(name, getattr(v, "__name__", v), i)
#区别就在此处 if hasattr(func, UNPACK_ATTR): if isinstance(v, tuple) or isinstance(v, list): add_test(cls, test_name, func, *v) else: # unpack dictionary add_test(cls, test_name, func, **v) else: add_test(cls, test_name, func, v) delattr(cls, name) elif hasattr(func, FILE_ATTR): file_attr = getattr(func, FILE_ATTR) process_file_data(cls, name, func, file_attr) delattr(cls, name) return cls
新版1.2.0
for name, func in list(cls.__dict__.items()): if hasattr(func, DATA_ATTR): for i, v in enumerate(getattr(func, DATA_ATTR)): test_name = mk_test_name(name, getattr(v, "__name__", v), i) test_docstring = getattr(v, "__doc__", None) if hasattr(func, UNPACK_ATTR): if isinstance(v, tuple) or isinstance(v, list): add_test(cls, test_name, test_docstring, func, *v) else: # unpack dictionary add_test(cls, test_name, test_docstring, func, **v) else: add_test(cls, test_name, test_docstring, func, v) delattr(cls, name) elif hasattr(func, FILE_ATTR): file_attr = getattr(func, FILE_ATTR) process_file_data(cls, name, func, file_attr) delattr(cls, name) return cls
从上边的两个ddt代码段,可以看出,新版新增加了一个test_docstring 这个是指定报告中输出的字符串。
这个新版增加了,应该在代码中指定描述。
作 者:
天枢
出 处:
http://www.cnblogs.com/yhleng/
关于作者:专注于软件自动化测试领域。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者
直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角
【
推荐】
一下。您的鼓励是作者坚持原创和持续写作的最大动力!