繁体   English   中英

如何使用 Django 测试 self.client.get 来获取用户详细信息与 url 这样 /user/<int:user_id> ?</int:user_id>

[英]How to use Django test self.client.get to get user detail with url like this /user/<int:user_id>?

如果我 go 到这个 url /user/int:user_id,我想创建一个测试来检查获取用户详细信息是否正确运行。 我的代码是这样的:

 def test_get_user_detail(self): self.client.login(username='tes', password='pandora_key') User_ID = 13 self.db_login = create_user(User_ID) db_login_count = DB_Login.objects.all().count() self.assertEqual(db_login_count, 1) self.assertNotEqual(db_login_count, 0) db_login_user = DB_Login.objects.filter(User_ID=User_ID).first() self.assertEqual(db_login_user.User_ID, User_ID) response = self.client.get('/user/<int:user_id>/', args=[User_ID]) self.assertEqual(response.status_code, 200)

我检查过创建具有该特定 ID 的用户是否正常工作,但是当从 URL 获取该用户时,响应总是找不到代码 404。 任何人都知道如何解决这个问题?

您在这一行中有错误:

response = self.client.get('/user/<int:user_id>/', args=[User_ID])

你必须像这样使用它:

url = reverse("user", args=(User_ID,))
response = self.client.get(path=url)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM