运行 django 测试时出现断言错误

时间:2021-03-02 06:51:33

标签: unit-testing django-rest-framework django-testing django-tests

我正在为我的一个功能编写一个测试用例,如下所示

from django.test import TestCase
from .common_functions import CommonFunctions
# Create your tests here.

class TestGetRuleDefinitionRulename(TestCase):
   def test_get_rule_definition_rule_name_if(self):
     rule_id = 100
     actual = CommonFunctions.get_rule_definition_rule_name(rule_id)
     expected = None
     self.assertEqual(actual, expected)

#CommonFunctions.get_rule_definition_rule_name()

@staticmethod
def get_rule_definition_rule_name(rule_id):
    ruledef_rulename = Ruledefinitions.objects.filter(pmdclinicalruleid=int(rule_id)).values('rulename') \
        .order_by('rulename').first()
    if ruledef_rulename is None:
        rulename = None
    else:
        rulename = ruledef_rulename + " (" + rule_id + ")"
    return rulename

运行上述测试用例时出现以下错误

raise AssertionError(self.message)
AssertionError: Database queries to 'rulestore' are not allowed in this test. Add 'rulestore' to helpers.tests.TestGetRuleDefinitionRulename.databases to ensure proper test isolation and silence this failure.

我需要运行测试用例,它调用一个涉及数据库调用的函数。另外我不应该在 db 中创建任何表。

0 个答案:

没有答案