使用django.test.client.post时的FileNotFoundError

时间:2017-10-04 15:52:50

标签: python django python-3.x

我有一些django测试代码曾经在python 2中工作但是在python3中开始抛出一些错误。这是一个片段:

def test_filter(self):
    c1 = dt.Client()
    c1.login(username='user1', password='pass')
    f = open('data/tiny.txt', 'rb')

    test_file = {
        'datafile': f,
        'uid': 'bb',
        'private': 'True',
        'name': "tr1"
    }

    response = c1.post(
        '/api/v1/files',
        test_file,
        format='multipart'
    )

当我使用python3运行时,我得到以下异常:

Exception ignored in: <bound method _TemporaryFileCloser.__del__ of <tempfile._TemporaryFileCloser object at 0x115904160>>
Traceback (most recent call last):
  File "/Users/pete/miniconda3/envs/cenv3/lib/python3.6/tempfile.py", line 450, in __del__
    self.close()
  File "/Users/pete/miniconda3/envs/cenv3/lib/python3.6/tempfile.py", line 446, in close
    unlink(self.name)
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/yb/3jwdnlf17gd1dcq65th786d00000gn/T/tmpw_t0j9bw.upload'

有趣的是,此异常不会影响测试的结果。他们仍然通过。它确实在输出中报告并且相当烦人。

关于导致这种情况的任何想法?使用Object.create使用文件创建对象可以正常工作,并且不会抛出错误。

0 个答案:

没有答案