鼻子supports test generators。但文件说:
请注意,不支持方法生成器 unittest.TestCase子类
这意味着我的所有测试生成器都必须在unittest
框架之外。
问题:我是否应该尽可能使用unittest
框架进行测试?或者,出于一致性原因,我应该完全放弃unittest
吗?
为什么nose
不支持unittest.TestCase
内的测试生成器?它似乎破坏了nose
的最大优势:它是{em>扩展而不是unittest
的替换,从而提供额外的好处而不需要服用远离unittest
提供的任何功能。或者我错过了什么?
还有一个相关的问题。如果我完全抛弃unittest
,我应该将测试放入全局函数还是新的类层次结构中?
答案 0 :(得分:5)
在鼻子方面,在unittest.TestCases中缺乏对更有趣的测试的支持是故意的 - 想法是鼻子应该从unittest收集测试.TestCases 完全作为unittest。可能这是一个坏主意,但现在不太可能改变。
因此,只要你不介意出现在前沿,我建议尝试使用nose2。 nose2不区分和支持各种测试的各种测试插件。文档位于rtd:http://nose2.readthedocs.org/en/latest/index.html,在pypi上下载:http://pypi.python.org/pypi/nose2/0.4.1。