J'ai un modèle Django. Entre autres choses, il a une ForeignKey
à User
:Retarder l'évaluation des stratégies d'hypothèses pour les modèles Django
class MyModel(models.Model):
foo = models.BooleanField()
bar = models.ForeignKey(User)
J'ai une méthode dans mes tests qui me génère une forme appropriée User
- generate_test_user()
Je veux écrire quelques tests avec Hypothesis pour faire valoir des propriétés variées sur instances de mon modèle.
Ma première mise en œuvre ressemblait à ceci:
class MyTestCase(TestCase):
@hypothesis.given(models(MyModel, bar=just(generate_test_user())))
def test_my_model(self, mymodel):
pass
Cependant cela échoue parce que generate_test_user
est appelé au moment de l'importation et essaie donc de créer un modèle avant de migrations Django etc. se sont heurtées.
Quel est un bon moyen d'élaborer une stratégie de sorte que les bonnes choses soient évaluées au bon moment/à l'évaluation du délai de l'appel just
/similaire?