我有一个具有文件字段的模型,我或多或少地测试了这个模型:
def test_importing_file_and_processing(self):
file_path = os.path.join(settings.BASE_DIR,
'myapp/tests/reports/test_input_file')
report = IngestedFile(
filename='test_file'
)
report.document.save('test_file', File(open(file_path)))
report.save()
report.do_stuff()
self.assertStuf....
有没有“更好”的方法来测试文件?我正在测试的东西确实看起来有点hacky。
答案 0 :(得分:0)
您可以使用 tempfile 模块
import tempfile
tmp_file = tempfile.NamedTemporaryFile(suffix='.pdf')
with open(tmp_file.name, 'w') as f:
f.write('test_content')
report.document = tmp_file
或者你可以为那个
创建隔离的功能def generate_test_file(file_format='.pdf'):
tmp_file = tempfile.NamedTemporaryFile(suffix=file_format)
with open(tmp_file.name, 'w') as f:
f.write('test_content')
return tmp_file