Django 测试,断言 CSV 内容存在



我正在做一个测试,使用assertContains()检查csv文件的内容:

response = client.get('/abc/1/a_b_csv')
print(response.content)
self.assertContains(response.content, 'aakash')

我尝试了不同的选项,例如self.assertContains(response,'aakash')但没有得到任何结果。

我的csv文件看起来像,

Name Age
Aakash 22

有时会出现以下错误:

bNamernVipulrn'
E
======================================================================
ERROR: test_csv (timepay.new_test.ReportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/aakash/Projects/test.py", line 28, in test_csv
self.assertNotContains(response.content, 'Vipul')
File "/home/aakash/Projects/project_env/lib/python3.6/site-packages/django/test/testcases.py", line 402, in assertNotContains
response, text, status_code, msg_prefix, html)
File "/home/vipul/Projects/project_env/lib/python3.6/site-packages/django/test/testcases.py", line 355, in _assert_contains
response.status_code, status_code,
AttributeError: 'bytes' object has no attribute 'status_code'

查看您添加到问题的堆栈跟踪,堆栈跟踪对应于对self.assertNotContains(response.content, 'Vipul')的调用。

查看SimpleTestCase.assertNotContains()的文档,我注意到该方法需要整个响应,而不仅仅是作为参数的内容。

因此,更改此行:

self.assertNotContains(response.content, 'Vipul')

对此

self.assertNotContains(response, 'Vipul')

应清除为其添加堆栈跟踪的错误。


现在,我注意到您的问题中也有这一行:

我尝试了不同的选项,例如self.assertContains(response,'aakash'),但没有得到任何结果。

如果您希望我们能够为您提供帮助,您必须更具体地说明您所说的"didn't get any result"是什么意思。

最新更新