gpt4 book ai didi

django - 在 Django 中测试页面内容中的链接

转载 作者:行者123 更新时间:2023-12-03 21:33:59 25 4
gpt4 key购买 nike

再会!

所以去我的问题,

我有一个带有一些链接的模板,我想断言它们确实存在于我的页面中。

我的 html 部分,

<section>
<p>Welcome to open radio. We help you get on air!</p>
<p><a href="{% url 'userlogin' %}">Login</a></p>
<p><a href="{% url 'liststations' %}">View all our stations</a></p>
<p><a href="{% url 'userregistration' %}">SignUp!</a></p>
</section>

我现在的测试,
response = self.client.get(reverse("home"))
assert reverse("userlogin") in response.content
assert reverse("liststations") in response.content
assert reverse("userregistration") in response.content

我的测试通过了,我明白我并不是真正为这里的链接断言,而是为 URL 字符串断言。我如何专门测试链接?

最佳答案

Django 自己的测试套件使用它来断言响应中的某个 url:

response = self.client.get(reverse("home"))
self.assertContains(response, '<a href="%s">Login</a>' % reverse("userlogin"), html=True)
...
self.assertContains处理 response 的事实是一个响应对象,两边都是html,只要是等价的,不一定是等价的。

这是假设您正在使用(的子类) django.test.SimpleTestCase .

关于django - 在 Django 中测试页面内容中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29590623/

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