【发布时间】:2015-10-15 02:01:20
【问题描述】:
我已将 django 从 1.6 更新到 1.8.3。我在单元测试中的测试 setUp 方法中创建测试模型,类似的东西
class MyTestCase(LiveServerTestCase):
reset_sequences = True
def setUp(self):
self.my_model = models.MyModel.objects.create(name='test)
我在应用程序中有代码,它依赖于主键 == 1。我已经注意到,序列实际上并没有被重置。在每个下一个测试中,pk 都大于上一个。
这在 django 1.6 中工作正常,但在迁移到 1.8 后出现问题。
我应该手动重置序列吗?
附:我知道夹具,但我的模型更复杂,对我来说更容易在代码中创建模型。
【问题讨论】:
-
你使用的是拆机方法吗?通常它用于“清理”在 setUp 方法中创建的东西。
-
不,因为据我了解,django 将数据库回滚到 post_migration 状态。在测试中我没有看到来自其他测试的任何数据,只有单个模型,但随着 pk 的增加
标签: python django unit-testing