如果迁移不是 运行,则强制测试失败

Force tests to fail if migrations aren't run

我有时会明显地健忘,这让我陷入了 30 分钟的黑洞,试图找出为什么我的 constraints 没有被应用到我的测试中。原来我忘了运行makemigrations。有没有办法将 pytestdjango 配置为在没有 makemigrations 的情况下失败?

我知道如果非常清楚地警告我

Your models have changes that are not yet reflected in a migration, and so won't be applied.

只是想多找点东西obvious/in你的脸?

如果您的模型更改不在迁移文件中,并且如果您分别有未应用的迁移,这两个命令将 return 出错。您可以 运行 它们作为测试脚本的一部分

python manage.py makemigrations --check
python manage.py migrate --check

https://docs.djangoproject.com/en/3.2/ref/django-admin/#cmdoption-makemigrations-check https://docs.djangoproject.com/en/3.2/ref/django-admin/#cmdoption-migrate-check