python - Django 中的 `assertIn` 和 `assertContains` 有什么区别?

标签 python django testing

我正在研究一些 Django 测试代码,我发现 assertInassertContains 非常相似,我阅读了 documentation其中他们没有说任何关于 assertIn 的事情,或者我可能找不到它。

下面的示例检查“john”是否出现在 self.email.body

的内容中
self.assertIn('john', self.email.body)

与此示例类似,检查 csrfmiddlewaretoken 是否出现在 self.response 的内容中

self.assertContains(self.response, 'csrfmiddlewaretoken')

看起来语法不同,但功能是一样的。那么,有什么区别呢?

如果您能通过一些基本示例帮助我理解这一点,我将不胜感激。

非常感谢

最佳答案

assertIn 是 python 内置测试套件的成员。这是对成员(member)资格的正常测试。例如,您可以检查数组元素的成员资格。字典中的键等。您可以将它用于 in 运算符可用于的所有操作。

assertContains 是由 Django 在其测试套件中添加的。它专门用于响应。这意味着您可以将 View 返回的响应对象传递给它。然后它将对其进行评估并检查成员资格。

您可以阅读有关 assertIn 的信息和 assertContains在各自的文档中。

关于python - Django 中的 `assertIn` 和 `assertContains` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55892432/

相关文章:

python - 为什么 Bootstrap 不起作用,尽管我已经加载了它等(Django项目)?

python - 如何获取特定python的配置信息

Python Selenium chromedriver OSError : [Errno 8] Exec format error

django - 从 Angular 前端在 Django Rest Framework 3.0 中保存上传的文件时出现问题

android - 手机锁定/休眠时不调用 ActivityInstrumentationTestCase2 中的 onCreate()

internet-explorer - 从版本 9 及更高版本测试不同版本的 IE 是否有任何值(value)

python - 关于OpenCV中reshape函数的困惑

django - django restframework 中用于身份验证的自定义模型而不是默认用户模型

python - 希望使用 Django ORM 行的每个值与标准值有所不同

Facebook omniauth 原始信息验证额外的模拟配置设置