Django/pytest:请求设置REST_FRAMEWORK,但未配置设置

6qftjkof  于 2023-10-21  发布在  Go
关注(0)|答案(1)|浏览(134)

我正在做一个Django项目,使用pytest进行测试。我写了一个非常简单的测试案例-

class TestwordOfTheDay(TestCase):

    def setUp(self):
        print("Test passed")

    def test_json_response(self):
        json_response = {
            "id": 43,
            "wordOfTheDayinHindi": "अस्पष्ट",
            "wordOfTheDayinEnglish": "ambiguous",
            "wordOfTheDayinEnglish_Usage_Example": "Everyone listened to the weather report, but the forecast was ambiguous and no one knew if it was going to be rainy or sunny today.",
            "wordOfTheDayinHindi_Usage_Example": "हर किसी ने मौसम के समाचार को सुना था, लेकिन उनका पूर्वानुमान अस्पष्ट था और कोई भी यह नहीं जान पाया कि आज बरसात होगी या धूप खिलेगी।",
            "date": "2023-10-19"
        }
        response = JsonResponse(json_response)
        self.assertTrue(isinstance(json_response["id"], int))
        self.assertRegex(json_response["wordOfTheDayinHindi"], r"[ऀ-ॿ]+$")
        self.assertRegex(json_response["wordOfTheDayinEnglish"], r"^[a-zA-Z]+$")
        self.assertRegex(json_response["wordOfTheDayinEnglish_Usage_Example"], r"^.*\b" + re.escape(json_response["wordOfTheDayinEnglish"]) + r"\b.*[.?!]$")
        self.assertRegex(json_response["wordOfTheDayinHindi_Usage_Example"], r"^.*\b" + re.escape(json_response["wordOfTheDayinHindi"]) + r"\b.*[.?!]$")
        self.assertEqual(json_response["date"], str(date.today()))

但是,当我运行pytest时,我遇到了以下错误:
django.core.exceptions.ImproperlyConfigured:请求设置REST_FRAMEWORK,但未配置设置。在访问设置之前,必须定义环境变量DJANGO_SETTINGS_MODULE或调用settings.configure()。
我不知道如何解决这个问题。任何关于如何修复此错误的帮助或指导将不胜感激。

ffscu2ro

ffscu2ro1#

这些文档可以帮助您:配置Django设置
您可以:

  • 定义一个环境变量DJANGO_SETTINGS_MOSTING
  • 使用带有选项--ds的命令行:pytest --ds=test.settings
  • 创建一个文件 pytest.ini

相关问题