python - 测试使用 TemporaryUploadedFile 的视图
问题描述
我有这样的看法:
import pandas as pd
def ingest(request):
for temp_file in request.FILES.values():
# There only ever is one use next(gen) if you prefer
path = temp_file.temporary_file_path()
break
df = pd.read_csv( path, encoding="UTF-16-le", header=None )
...
我想测试一下这个观点。我实际上无法更改视图逻辑,因为它被设计为端点 fpr 一个我无法控制的外部服务。
我已添加 FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.TemporaryFileUploadHandler',]
到设置中以避免令人讨厌的意外,但我无法使测试正常工作。
我的test.py
:
from django.core.files.uploadedfile import TemporaryUploadedFile
from django.test import TestCase
class InputTest(TestCase):
def test_extract_csv(self):
form_data = {
'upload_file': TemporaryUploadedFile("data/test.csv", "csv", 88614, "utf-16-le")
}
self.client.post("/ingest", form_data)
但这会导致视图中的数据为空。
解决方案
推荐阅读
- javascript - Javascript 希望有一个标签,您可以检查该标签是否自动刷新页面
- tensorflow - 在 Eager 代码中并行执行 TF 操作?
- java - 在 Android 中设置 MoPub 广告
- python - Chaquopy 构建失败:app:generateDebugPythonMiscAssets
- django - 部署时如何处理私有配置文件?
- wordpress - TSD 插件 wordpress 和博览会通知
- python - 在 p 中获取不在另一个 p 中的文本
- c++ - 如何搜索 utf8 字符?
- go - go 模板和制表符
- flutter - Flutter:热重启会使应用程序崩溃,但冷重启不会(因为记录器已经初始化)