在django中测试部分加载的网页的最佳方法是什么

时间:2011-08-15 15:14:42

标签: django testing integration-testing

我知道在django集成中,很容易通过确保状态代码是200来测试页面是否会成功加载。但是,我正在处理的项目有可能部分加载的页面(页面的某些部分将会默默无法加载)。捕捉这种情况的最佳方法是什么?有没有办法将此类错误插入http响应?

我知道我可以对页面上的文本执行正则表达式来检查可能无法加载的内容,或者我可以检查某些css类的名称是否存在。但这似乎并不是一种过于强大的方法。

1 个答案:

答案 0 :(得分:0)

这在很大程度上取决于您的实施细节,但有两种合适的方法可以帮助您测试模板:

  • 如果只使用模板语法可以测试/触发部分页面加载,请创建测试模板,有条件地打印一些您可以在响应中匹配的文本,例如WORKED或{{ 1}}。

  • 如果它在很大程度上取决于模板接收的上下文,那么您在测试用例旁边定义并通过传递模拟请求直接调用的一次性测试视图也可以正常工作。在这种情况下,如果页面呈现不能按预期进行,您可能会依赖测试视图来引发异常,否则一切都很顺利。

  • 或者,您甚至可以将两者混合使用。在这种情况下,您将依赖视图生成HTTP响应,然后您将检查某些测试文本。

如果这不起作用,您可以使用覆盖模板。一般问题是你不能依赖文本匹配,因为它是全局的。模板可能会更改并可能导致您的测试失败。您可以做的是具有特定的测试设置,为模板发现添加其他目录,您可以在其中提供不同的模板实现,其中包含不会更改的文本,这对于测试中的匹配是合适且安全的。与前两种方法相反,这种方法的难点在于它不能整齐地记录自己。