使用ajax GET请求测试Django模板 - 未调用ajax请求
问题描述:
我在实现模板呈现测试期间遇到了一些问题。 有两个视图:使用ajax GET请求测试Django模板 - 未调用ajax请求
一般与所需要的数据
块
一般(1)模板显示数据。该模板包含用于从附加视图(2)检索数据的ajax GET调用。我想通过测试在我的模板(1)中检查这些数据。我用client.get(url)
来调用我的模板(1)。但似乎ajax GET请求没有在测试期间调用,我不明白为什么。
答
django.test.Client
不是浏览器,它只是发出HTTP请求,因此不知道任何关于ajax/javascript。
下列情况之一的应帮助您
-
使用
django.test.Client
并断言- 模板具有Ajax调用正确的URL,即:断言响应包含
<script>myAjaxCallTo('/some/url/')</script>
- 单独测试ajax端点,返回正确响应
- 模板具有Ajax调用正确的URL,即:断言响应包含
使用
selenium
(连同django.test.LiveServerTestCase
)
感谢。我认为'django.test.Client'不处理ajax/javascript。 –