有两种型号:
class Model1(models.Model):
attribute = models.CharField(max_length=100)
class Model2(models.Model):
target = models.ForeignKey(Model1)
和一个单元测试tests.py
:
class Model1Test(TestCase):
def test_make_new_model_and_save():
m = Model1()
m.attribute = 'test values'
m.save()
class Model2Test(TestCase):
def test_make_new_model_and_save():
# Make new Model1 to FK to
m = Model1()
m.attribute = 'test values'
m.save()
m2 = Model2()
m2.target = m
m2.save()
我只想调用在 Model1 的测试类中定义的 unittest 函数,而不是再次复制代码来测试 Model2。这我想像:
class Model1Test(TestCase):
def test_make_new_model_and_save():
m = Model1()
m.attribute = 'test values'
m.save()
return m
class Model2Test(TestCase):
def test_make_new_model_and_save():
# Make new Model1 to FK to
m = Model1Test('test_make_new_model_and_save')
m2 = Model2()
m2.target = m
m2.save()
但这似乎不起作用,我立即发现自己处于单元测试框架的内部。我找不到很多关于这类事情的参考资料,所以作为单元测试的新手,我觉得我在某个地方走错了路。
是否有重用单元测试的“正常”方法,或者我的方法有缺陷?