我正在研究一些 Django 测试代码,我发现 assertIn
和 assertContains
非常相似,我阅读了 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/