我有一个 Django 模型。除其他外,它有一个ForeignKey
to User
:
class MyModel(models.Model):
foo = models.BooleanField()
bar = models.ForeignKey(User)
我的测试中有一种方法可以为我生成适当的形状User
-generate_test_user()
我想用Hypothesis编写一些测试来断言关于我的模型实例的各种属性。
我的第一个实现如下所示:
class MyTestCase(TestCase):
@hypothesis.given(models(MyModel, bar=just(generate_test_user())))
def test_my_model(self, mymodel):
pass
然而,这失败了,因为generate_test_user
在导入时被调用,因此试图在 Django 迁移等运行之前创建一个模型。
制定策略以在正确的时间评估正确的事情/延迟评估just
呼叫/类似情况的好方法是什么?