S3BotoStorage和单元测试

时间:2015-06-10 05:16:25

标签: django boto django-testing django-storage django-media

我在Django项目中使用storages.backends.s3boto.S3BotoStorage作为DEFAULT_FILE_STORAGE

理想情况下,我想在单元测试期间使用默认的FileSystemStorage,或者创建一个在测试结束时删除的临时存储桶。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

我通常为测试test.py保留一个单独的设置文件。您可以在那里配置存储后端,以及在测试期间要更改的任何其他设置。然后,运行如下测试:

python manage.py tests --settings=project.test

--settings标志是您要使用的设置模块的虚线路径(默认值为project.settings)。

对测试设置文件进行了很好的优化:http://www.daveoncode.com/2013/09/23/effective-tdd-tricks-to-speed-up-django-tests-up-to-10x-faster/

Two Scoops of Django是阅读有关多设置文件设置的好地方。

答案 1 :(得分:1)

首先,如上所述,使用单独的文件进行测试。

其次,有一个名为moto的python库,用于模拟和测试botos3。

git存储库: - https://github.com/spulec/moto