gpt4 book ai didi

django - 在 django 2.2 中的此测试中不允许对 'cache' 的数据库查询

转载 作者:行者123 更新时间:2023-12-04 15:39:38 25 4
gpt4 key购买 nike

我正在将项目从 django 1.11 迁移到 django 2.2。
我们有基于数据库的缓存,可以在不同的数据库上运行(不是默认的)。
运行测试时,我们收到以下错误:

AssertionError: Database queries to 'cache' are not allowed in this test. Add 'cache' to users.tests.UserLogTestCase.databases to ensure proper test isolation and silence this failure.

将 'cache' 数据库添加到 TestCase 的 databases 变量可以解决问题(或将其设置为 ' __all__ '),问题是每个测试都必须这样做。

有没有其他(更全局的)方法来解决这个问题?

最佳答案

我刚遇到这个问题。在我的环境中,我早就放弃了,并从一个公共(public)类 MyTestCase 继承了所有测试用例。 .我用 mixins 添加功能:

class MyTestCase(django.test.TestCase, ViewTestMixin, AssertResponseStatusMixin, CustomAssertions):

pass


class MyAPITestCase(rest_framework.test.APITestCase, ViewTestMixin, AssertResponseStatusMixin, CustomAssertions, RedisClearMixin):

pass

我添加了 databases这些基类的变量以全局应用。

关于django - 在 django 2.2 中的此测试中不允许对 'cache' 的数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58309423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com