如何在django中断言F在ABCDEF中只有一次
我如何断言F在ABCDEF中只出现一次 我使用了assertEqual,但django指出:如何在django中断言F在ABCDEF中只有一次,django,unit-testing,Django,Unit Testing,我如何断言F在ABCDEF中只出现一次 我使用了assertEqual,但django指出: Traceback (most recent call last): File "/Users/jorrit/virtualenvs/voetbabbel/voetbabbel/apps/mass_mailer/tests.py", line 61, in test_create_mailing_list self.assertContains(p.user.email,"@", 1, st
Traceback (most recent call last):
File "/Users/jorrit/virtualenvs/voetbabbel/voetbabbel/apps/mass_mailer/tests.py", line 61, in test_create_mailing_list
self.assertContains(p.user.email,"@", 1, status_code=200)
File "/Library/Python/2.7/site-packages/django/test/testcases.py", line 419, in assertContains
self.assertEqual(response.status_code, status_code,
AttributeError: 'unicode' object has no attribute 'status_code'
以及我在测试中的代码:
self.assertContains(p.user.email,"@", 1)
assertContains
不用于测试随机字符串。它用于从视图测试响应——具体来说,响应包含特定的文本位。如果您没有使用TestClient并针对某个视图的响应进行测试,则无法使用它。assertContains
不用于测试随机字符串。它用于从视图测试响应——具体来说,响应包含特定的文本位。如果您没有使用TestClient并针对某个视图的响应进行测试,则无法使用它。正如Chris所说,这不是assertContains的用途。您可以使用标准断言之一:
self.assertTrue(p.user.email.count('@') == 1)
正如Chris所说,这不是
assertContains
的目的。您可以使用标准断言之一:
self.assertTrue(p.user.email.count('@') == 1)
退房。这就是对这类事情的测试。以这种方式使用assertEqual
将在出现故障时为您提供更多的assertTrue
反馈
self.assertEqual(p.user.email.count('@'), 1)
退房。这就是对这类事情的测试。以这种方式使用assertEqual
将在出现故障时为您提供更多的assertTrue
反馈
self.assertEqual(p.user.email.count('@'), 1)