我有一個Django模型。在其他方面它有一個ForeignKey
到User
:推遲對Django模型的假設策略的評估
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
通話/類似情況下評估正確的事情?