Python/Django:如何断言单元测试结果包含某个字符串?

2024-09-29 23:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在python单元测试(实际上是Django)中,正确的assert语句是什么,它将告诉我测试结果是否包含我选择的字符串?

self.assertContainsTheString(result, {"car" : ["toyota","honda"]})

我想确保我的result至少包含我指定为上面第二个参数的json对象(或字符串)

{"car" : ["toyota","honda"]}

Tags: 对象django字符串selfjson参数assert语句
3条回答

您可以在python关键字中使用一个简单的assertTrue+在另一个字符串中编写关于字符串预期部分的断言:

self.assertTrue("expected_part_of_string" in my_longer_string)

要断言一个字符串是否是另一个字符串的子字符串,应该使用assertInassertNotIn

# Passes
self.assertIn('bcd', 'abcde')

# AssertionError: 'bcd' unexpectedly found in 'abcde'
self.assertNotIn('bcd', 'abcde')

这些是自Python 2.7Python 3.1以来的新产品

self.assertContains(result, "abcd")

您可以修改它以使用json。

仅对HttpResponse对象使用self.assertContains。对于其他对象,请使用self.assertIn

相关问题 更多 >

    热门问题