【问题标题】:What is the best way to test for partially loaded web pages in django在 django 中测试部分加载的网页的最佳方法是什么
【发布时间】:2011-08-15 15:14:41
【问题描述】:

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

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

【问题讨论】:

    标签: django testing integration-testing


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2023-03-15
      • 2019-12-21
      相关资源
      最近更新 更多