【问题标题】:Why inherit from unittest.TestCase?为什么要从 unittest.TestCase 继承?
【发布时间】:2015-09-28 15:02:48
【问题描述】:

让我的单元测试类继承自 unittest.TestCase 而不是 object? 的动机是什么我使用 Nose(或 PyTest)而不是 unittest 是否重要?

【问题讨论】:

  • 因为这就是unittest 知道您希望将该类视为测试用例的方式? “我使用 Nose(或 PyTest)是否重要” - 是的,他们还有其他用于测试发现的选项(尽管也接受 TestCases,参见例如 pytest.org/latest/unittest.html#unittest-testcase)。跨度>
  • a) 继承assertX 方法? b) 允许自动测试运行器找到您的测试?

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


【解决方案1】:

如果您不从unit.TestCase 继承,则测试框架不会知道您希望这些类成为测试用例。因此,当您尝试运行您的测试时,什么都不会发生!

【讨论】:

    【解决方案2】:

    unittest.TestCase 继承可让您使用如下方法:

    当您使用pytest 时,您可以直接将测试编写为函数(无需继承任何东西)。您可以使用fixtures 实现相同的设置/拆除模式,并使用assert statement 编写断言,因为pytest 具有强大的assertion introspection

    nose 还提供 similar features(使用 with_setup 装饰器测试函数)。

    【讨论】:

      猜你喜欢
      • 2014-08-26
      • 2010-12-07
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多