unittest和nose框架之间的冲突

max*_*max 6 python unit-testing nose python-3.x

鼻子支持测试生成器.但文件说:

请注意,unittest.TestCase子类不支持方法生成器

这意味着我的所有测试生成器都必须在unittest框架之外.

问题:我是否仍然可以使用unittest框架进行测试?或者,出于一致性原因,我应该unittest完全放弃吗?

为什么不nose支持测试生成器unittest.TestCase?这似乎破坏最大的优势nose:它是一个扩展,而不是替代unittest,因此没有带走任何的所提供的功能,提供了额外的好处unittest.或者我错过了什么?

还有一个相关的问题.如果我unittest完全抛弃,我应该将我的测试放入全局函数还是新的类层次结构?

小智 5

在鼻子里,缺乏对unittest.TestCases中更有趣的测试的支持是故意的 - 想法是鼻子应该从unittest收集测试.TestCases 就像单元测试一样.可能这是一个坏主意,但现在不太可能改变.

所以,只要你不介意出现在前沿,我建议尝试使用nose2.nose2不区分和支持各种测试的各种测试插件.文档在rtd:http://nose2.readthedocs.org/en/latest/index.html,在pypi上下载:http://pypi.python.org/pypi/nose2/0.4.1.