如何禁用缓存锁定以进行测试

时间:2016-09-09 21:25:23

标签: python django caching

我有一个使用Redis进行缓存的Django应用程序。它依赖于缓存锁定(cache.lock())来可靠地访问和修改异步任务中的缓存值。

我的目标是在测试环境中禁用锁定(使cache.lock()无效),因为异步任务在测试时变得同步,这导致测试陷入死锁。但是,即使使用Django' DummyCache,锁定行为似乎仍然存在。

我能否在Django的缓存设置中禁用锁定行为?无法在文档中找到任何相关内容。

编辑 - 实际问题

抱歉,我实际上是以错误的方式替换DummyCache的Redis缓存,因此它没有任何效果。不过,我现在的问题是,我需要为lock假冒DummyCache方法,因为它会在我的所有测试中提升AttributeError: 'DummyCache' object has no attribute 'lock'

我知道我可以通过模拟这个方法来实现这个目标,但我必须在项目的每个测试类中都这样做。有没有更简洁的方法呢?

0 个答案:

没有答案