Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中断言F在ABCDEF中只有一次_Django_Unit Testing - Fatal编程技术网

如何在django中断言F在ABCDEF中只有一次

如何在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

我如何断言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, 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)