当前位置: 首页 > 面试题库 >

如何在Django中对文件上传进行单元测试

姚丰羽
2023-03-14
问题内容

在我的django应用程序中,我有一个完成文件上传的视图。核心代码段是这样的

...
if  (request.method == 'POST'):
    if request.FILES.has_key('file'):
        file = request.FILES['file']
        with open(settings.destfolder+'/%s' % file.name, 'wb+') as dest:
            for chunk in file.chunks():
                dest.write(chunk)

我想对视图进行单元测试。我正计划测试快乐路径和失败路径。即,request.FILES没有键“ file”的情况,request.FILES['file']有键“。”的情况None

如何设置幸福道路的发车数据?有人可以告诉我吗?


问题答案:

来自Django文档Client.post

提交文件是一种特殊情况。要发布文件,只需提供文件字段名称作为键,并提供要上传的文件的文件句柄作为值。例如:

c = Client()
with open('wishlist.doc') as fp:
  c.post('/customers/wishes/', {'name': 'fred', 'attachment': fp})


 类似资料:
  • 问题内容: 我有一个基于Express.js构建的应用程序,我想测试文件上传功能。我正在尝试重现解析为req.files的对象(使用express.bodyParser中间件时)。我怎样才能做到这一点? 问题答案: 您可以直接在Mocha中执行此操作,但这有点棘手。这是发布图像的示例: Content-Disposition 的 name 参数是通过req.files(以req.files.ima

  • 我正在尝试单元测试我上传REST API的文件。我在网上找到了一些用Pillow生成图像的代码,但无法序列化。 这是我生成图像的代码: 然后我尝试上载此图像填充: 我得到以下错误: 如何转换枕头图像使其可序列化?

  • 问题内容: 作为Django的新手,我很难在Django 1.3中制作上传应用程序。我找不到任何最新的示例/代码段。有人可以发布最少但完整的(模型,视图,模板)示例代码来这样做吗? 问题答案: ew,Django文档确实没有很好的例子。我花了2个多小时来挖掘所有内容,以了解其工作原理。有了这些知识,我实现了一个项目,该项目可以上传文件并将其显示为列表。要下载该项目的源代码,请访问https://g

  • 问题内容: 如何在单元测试中测试 hashCode()函数? 问题答案: 每当我覆盖equals和hash代码时,我都会按照Joshua Bloch在“ Effective Java”第3章中的建议编写单元测试。我确保equals和hash代码是自反的,对称的和可传递的。我还确保“不等于”对所有数据成员均正常工作。 当我检查对equals的调用时,我还要确保hashCode的行为符合预期。像这样:

  • 问题内容: 我有一个使用elasticsearch的Django应用。我想拥有100%的代码测试覆盖率,因此我需要测试对Elasticsearch(本地“安装”)的API调用。 所以我的问题是:模拟整个elasticsearch更好还是应该运行elasticserver并检查结果? IMO最好模拟elasticsearch并仅检查python代码(测试是否使用正确的参数调用了所有内容)。 问题答案

  • 问题内容: 我一直在学习AngularJS,并且在单元测试方面进展非常顺利,但是我遇到了一个棘手的问题。 假设我有一个简单的表格,例如: 如果我正在测试类似控制器的东西,我知道我会这样写(使用Jasmine + Karma): 但是我不知道我需要注入哪些服务,也没有运气在指南或文档中找到有关单元测试的文档。 一个单元如何在Angular中测试表单? 问题答案: 我不认为这是对此类内容进行单元测试的