【问题标题】:Conflicts between unittest and nose frameworksunittest和nose框架之间的冲突
【发布时间】:2012-09-11 19:28:48
【问题描述】:

鼻子supports test generators。但是文档说:

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

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

问题:我是否仍应尽可能使用unittest 框架进行那些测试?还是出于一致性原因,我应该完全放弃unittest

为什么nose 不支持unittest.TestCase 中的测试生成器?它似乎破坏了nose 的最大优势:它是unittest扩展而不是替换,因此提供了额外的好处而不带走任何unittest 提供的功能。还是我错过了什么?

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

【问题讨论】:

  • 我需要类似于测试生成器的东西,最终使用了nose-parameterized。装饰器语法更加简洁,并且可以与 unittest.TestCase 一起使用。

标签: python unit-testing python-3.x nose


【解决方案1】:

在nose 中,unittest.TestCases 不支持更时髦的测试是有意的——想法是nose 应该像unittest 那样完全从unittest.TestCases 收集测试。可能这是个坏主意,但现在不太可能改变。

因此,只要您不介意走在最前沿,我建议您尝试nose2。 nose2 不歧视,支持各种测试插件进行各种测试。文档在 rtd:http://nose2.readthedocs.org/en/latest/index.html,在 pypi 上下载:http://pypi.python.org/pypi/nose2/0.4.1

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 2010-11-13
    • 2016-04-07
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2012-03-06
    相关资源
    最近更新 更多