我正在为我的 Django 应用程序编写测试用例,但我在 Python 中使用 requests 包来访问状态代码,然后使用 assert 语句。此测试用例仅适用于员工用户:
class StaffClientServerTestCase(TestCase):
def test_login_staff(self):
User.objects.create_superuser('abc', 'abc@gmail.com', '1234')
self.client.login(username='abc', password='1234')
self.client.get('/dashboard/')
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
self.assertEqual(200, s.status_code)
只有员工用户可以访问仪表板,所以我创建了一个员工用户对象。以下行
self.client.login(username='abc', password='1234')
即将成为现实。
self.client.get('/dashboard/')
如果我打印出这一行,它会显示页面的 html 内容,这意味着我的员工用户可以访问dashboard
.
但是当我使用请求模块查看dashboard
url 的状态代码时,它显示status code = 500
,并且我的测试失败了。
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
谁能告诉我这里哪里出错了?为什么我的状态码显示为 500,即使员工用户可以访问仪表板并使用print self.client.get('/dashboard/')
. 帮助!