我在我的应用程序使用Django的默认身份验证时编写了一套测试,但现在我添加了Atlassian Crowd作为身份验证方法,现在这些测试失败了,主要是因为当我使用Crowd服务器时我想在家里进行测试。
每个应用都有它的Setup()方法
def setUp(self):
"""Set up the shared test data."""
self.client.login(username='admin', password='letmein')
我正在通过评论AUTHENTICATION_BACKENDS来解决这个问题,但这不会在CI服务器上运行。
我不认为我得到的错误很重要,但为了完整性:
URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
我尝试将两个身份验证后端添加到AUTHENTICATION_BACKENDS中,但我仍然得到相同的结果。
我可以选择让这些测试通过吗?
有没有办法强制用户登录?我能以某种方式模仿auth对象吗?
我可以在设置中对AUTHENTICATION_BACKENDS部分进行一些检查以检查它是否在测试模式下运行吗?但后来我正在为我的测试编写特殊情况,这种情况会使对象失败。
答案 0 :(得分:3)
您可以更改AUTHENTICATION_BACKENDS
方法中的setUp
设置,然后在tearDown
中将其更改回来。这个question's accepted answer就是一个例子,但设置不同。