到目前为止,开发和测试都是在SQLite上进行的,而生产环境是在Postgres上运行的。现在一切都需要在Postgres上运行,结果大量的测试失败了。原因是每个测试的ID不是从1开始,而是在各个测试之间继续增长。
解决这个问题的一种方法是使用
解决这个问题的一种方法是使用
TransactionTestCase
,所以需要修改。class FooCase(APITestCase):
使用
class FooCase(APITransactionTestCase):
reset_sequences = True
这个方法可以实现功能,但是速度变慢了。
虽然我可以尝试修复测试,但是由于许多测试具有模拟方法,所以这很困难。有没有另一种方法,可以重置序列并保持所有内容快速且整洁?
@mock.patch
中使用。 - Bojan Kogoj