Django-如何测试httpresponse中返回的图像

时间:2018-03-15 01:21:51

标签: python django unit-testing http django-views

我有一个django测试方法,用于检查在http请求发送到视图之前,在httpresponse返回的图像是否与打开时相同的图像:

def test_uploaded_file(self):
    c = Client()
    originalFilePath = '../static_cdn/test_img.jpg'
    image_data = open(originalFilePath, "rb")
    with open(originalFilePath, "rb") as fp:
        response = c.post('/', {'image': fp})
        self.assertEqual(image_data,response)

由于某种原因,测试返回此错误:

AssertionError: <open file u'../static_cdn/test_img.jpg', mode 'rb' at 0x7fed326b6a50> != <HttpResponse status_code=200, "image/jpg">

我认为这个问题与从视图返回的图像是httpresponse而在测试方法中打开的另一个图像不是这样的事实有关。 为什么这个测试会失败?可以从响应中提取图像吗?

1 个答案:

答案 0 :(得分:-1)

您正在将打开的文件与http响应进行比较。从http响应中获取图像,然后将其打开并进行比较。