【问题标题】:How to render a TemplateResponse in a Django unittest如何在 Django 单元测试中呈现 TemplateResponse
【发布时间】:2016-11-29 18:01:58
【问题描述】:

我正在尝试通过以下方式检查 Django 单元测试中的响应正文以获取特定文本:

response = client.post('/path/to/form', form_data)
self.assertTrue('some text' in unicode(response, 'utf-8', 'ignore'))

但是,我得到了错误:

TypeError: coercing to Unicode: need string or buffer, TemplateResponse found

如果我将unicode() 替换为str(),它可以正常工作,但这会阻止我查找Unicode 文本。为什么不能像 str 一样将 TemplateResponse 转换为 unicode?​​p>

【问题讨论】:

    标签: python django unicode


    【解决方案1】:

    如果您想检查响应的正文,那么典型的方法是使用response.content,而不是尝试调用unicode(response)。

    【讨论】:

      【解决方案2】:

      使用self.assertContains(response, 'some text')

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 2012-05-22
        • 1970-01-01
        • 2018-07-27
        • 1970-01-01
        • 2013-06-17
        • 2013-02-19
        相关资源
        最近更新 更多