我正在为我的一个功能编写一个测试用例,如下所示
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 中创建任何表。