And*_*rea 7 django unit-testing django-testing
我正在尝试为 Django 应用程序编写一些测试,涉及文件上传。为此,我想MEDIA_ROOT暂时将其更改为“myproject/fixtures/test_media/”。由于某种原因,这似乎阻止了 Django 找到固定装置。
我的测试用例看起来像
from django.conf import settings
class TestMedia(TestCase):
fixtures = ['fixtures/test_data.json']
def setUp(self):
settings.MEDIA_ROOT = ''.join(
[settings.PROJECT_PATH, '/fixtures/test_media/'])
def test_photo_size(self):
pass # Actually do something with the media files
Run Code Online (Sandbox Code Playgroud)
由于某种原因,Django 无法加载固定装置,因此所有测试都会失败
安装固定装置“fixtures/test_data.json”时出现问题:回溯(最近一次调用最后一次)...
我究竟做错了什么?
您是否尝试过删除设置并查看是否可以加载灯具?
此外,我认为您确实不需要更改 MEDIA_ROOT 来测试上传。您只需在tearDown 中删除那些上传的文件即可恢复所有内容。
编辑:
您似乎正在生产环境中运行单元测试。老实说,这不是一个好主意。
但如果你必须这样做,使用另一个设置文件怎么样?像这样:
from mysite.settings import *
MEDIA_ROOT = '/what_ever_you_like'
Run Code Online (Sandbox Code Playgroud)
并使用附加参数运行测试:
./manage.py test --settings=mysite.settings_for_test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4200 次 |
| 最近记录: |