gpt4 book ai didi

Django LiveTestServerCase 没有使用正确的设置

转载 作者:行者123 更新时间:2023-12-04 17:10:34 25 4
gpt4 key购买 nike

在 Django 项目中,我使用 selenium 运行一些 UI 测试,使用 LiveServerTestCase .

我的一个测试用例失败了,当使用 Firefox 驱动程序时,我可以看到一个页面抛出“服务器错误 (500)”,这意味着 DEBUG设置为 False当我运行本地开发服务器时,情况并非如此。

测试服务器是如何启动的?为什么不使用我定义的设置 DEBUG = True ?

其他 URL(例如主页 URL)返回正常,因此服务器正在工作。但我只是不明白为什么它不显示调试信息,以及它使用的设置。

我的测试用例供引用:

class LoginTest(LiveServerTestCase):

@classmethod
def setUpClass(cls):
try:
from selenium.webdriver import PhantomJS
cls.selenium = PhantomJS()
except:
from selenium.webdriver.firefox.webdriver import WebDriver
cls.selenium = WebDriver()
super(LoginTest, cls).setUpClass()

@classmethod
def tearDownClass(cls):
cls.selenium.quit()
super(LoginTest, cls).tearDownClass()

def test_fb_login(self):
self.selenium.get('%s%s' % (self.live_server_url, reverse('account_login')))
# TEST SERVER RETURNS 500 ON THIS URL WITH NO DEBUG INFO

最佳答案

根据 Testing Django Application - Django Documentation :

Regardless of the value of the DEBUG setting in your configuration file, all Django tests run with DEBUG=False. This is to ensure that the observed output of your code matches what will be seen in a production setting.



override this using 应该还是可以的:
with self.settings(DEBUG=True):
...

虽然我不推荐它,但它有时仍然有用。 (托马斯·奥罗斯科的评论)

关于Django LiveTestServerCase 没有使用正确的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327234/

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