Python 基于基本测试用例的Django测试用例
在我的webapp中,我有一个ListItem类,然后还有许多其他基于此的类,但名称不同 目前我对所有这些都有单独的测试模块。这意味着有很多重复的测试代码 我试图创建一个BaseListItemTestCase类,它有一个变量Python 基于基本测试用例的Django测试用例,python,django,Python,Django,在我的webapp中,我有一个ListItem类,然后还有许多其他基于此的类,但名称不同 目前我对所有这些都有单独的测试模块。这意味着有很多重复的测试代码 我试图创建一个BaseListItemTestCase类,它有一个变量self.listitem\u modelset,在所有测试中都使用它。这意味着代码不会重复 self.listitem_模型将在一个子测试用例中设置,该子测试用例只包含一个init()方法来设置它 我做了上面所有的工作,问题是,如果在基本测试类中有一个测试,而我只运行子测
self.listitem\u model
set,在所有测试中都使用它。这意味着代码不会重复
self.listitem_模型
将在一个子测试用例中设置,该子测试用例只包含一个init()方法来设置它
我做了上面所有的工作,问题是,如果在基本测试类中有一个测试,而我只运行子测试用例,那么测试将运行两次
这有什么原因吗?我只想让我说的测试运行,运行
class BaseListItemTestCase(APITestCase):
def __init__(self, *args, **kwargs):
super(BaseListItemTestCase, self).__init__(*args, **kwargs)
self.listitem_model = None
def test_something(self):
self.assertEqual(self.listitem_model.objects.all().count(), 0)
class LikeListTestCase(BaseListItemTestCase):
def __init__(self, *args, **kwargs):
super(LikeListTestCase, self).__init__(*args, **kwargs)
self.listitem_model = LikeListItem
您已经将测试方法放入基类中,因此它由子类继承。现在有两个类使用
test\u something
方法,因此这两个类都将运行
把测验放在儿童班上。或者,如果您希望逻辑位于基类中,请将其放入不属于test\u
的方法中,并在子类中有一个简单调用该方法的基本test\u something
方法