【问题标题】:Can a python unittest class add an assert statement for each test method in a parent class?python unittest类可以为父类中的每个测试方法添加断言语句吗?
【发布时间】:2016-10-13 17:24:39
【问题描述】:

我有一个单元测试类,它是 python 的 unittest 的子类:

import unittest

class MyTestClass(unittest.TestCase):
    run_parameters = {param1: 'on'}
    def someTest(self):
        self.assertEquals(something, something_else)

现在我想创建一个子类来修改,比如run_parameters,并在已经编写的内容之上添加一个额外的断言语句:

class NewWayToRunThings_TestClass(MyTestClass):
        run_parameters = {param1: 'blue'}
        # Want someTest, and all other tests in MyTestClass to now run 
        # with an additional assert statement  

有没有办法做到这一点,以便每个测试都运行一个额外的断言语句来检查我的参数更改是否在我的所有测试中正常工作?

【问题讨论】:

标签: python unit-testing oop


【解决方案1】:

是的,但这可能不是一个好主意,因为:

  • 断言隐藏在难以理解的 Python 魔法背后
  • 断言不明确

您能否更新您的方法以反映新合同和预期参数?

此外,如果单个参数更改破坏了大量测试,动态修补测试类比更新测试更容易,那么测试套件可能不够集中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 2016-10-07
    相关资源
    最近更新 更多