aak*_*ngh 3 python django django-testing django-tests
我正在做一个测试来检查文件的内容,csv使用assertContains():
response = client.get('/abc/1/a_b_csv')
print(response.content)
self.assertContains(response.content, 'aakash')
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的选项,self.assertContains(response,'aakash')
但没有得到任何结果。
我的 csv 文件看起来像,
Name Age
Aakash 22
Run Code Online (Sandbox Code Playgroud)
有时会出现这样的错误:
bName\r\nVipul\r\n'
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'
Run Code Online (Sandbox Code Playgroud)
查看您添加到问题中的堆栈跟踪,该堆栈跟踪对应于对self.assertNotContains(response.content, 'Vipul').
查看 的文档SimpleTestCase.assertNotContains(),我注意到该方法需要整个响应,而不仅仅是内容作为参数。
所以,改变这一行:
self.assertNotContains(response.content, 'Vipul')
Run Code Online (Sandbox Code Playgroud)
对此
self.assertNotContains(response, 'Vipul')
Run Code Online (Sandbox Code Playgroud)
应该清除您添加堆栈跟踪的错误。
现在,我注意到您的问题中也有这一行:
我尝试了不同的选项,例如
self.assertContains(response,'aakash'),但没有得到任何结果。
"didn't get any result"如果您希望我们能够帮助您,您必须更具体地说明您的意思。
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |