gpt4 book ai didi

django - 使用FileField测试Django模型

转载 作者:行者123 更新时间:2023-12-03 14:01:17 25 4
gpt4 key购买 nike

我正在尝试过渡到使用Django进行测试。这是要测试的特定模型:

class Media(models.Model):
file = models.FileField(upload_to='upload',)
thumbnail = models.ImageField(upload_to='upload', blank=True,)

# ...


第1部分:如何处理这些FileField? (特别是在我需要生成假条目以测试代码位的意义上)

第2部分:以下是我已经开始编写的测试代码。我是正确执行此操作还是应该使用“模拟”形式?

from django.test import TestCase
from django.test.client import Client

from django.contrib.auth.models import User
from mediamanager.models import Media

class MediaManagerTestCase(TestCase):

def setUp(self):
self.fake_user = User.objects.create(username='fakeuser', is_staff=false)
self.fake_staff = User.objects.create(username='fakestaff', is_staff=true)
self.fake_admin = User.objects.create(username='fakeadmin', is_superuser=true)

self.fake_media_image = Media.objects.create() # Hmmm...
self.fake_media_video = Media.objects.create() # How do i do this...

def testMediaCanEdit(self):
perm = self.fake_media_image.can_edit(self.fake_user)
self.assertEquals(perm, false)

最佳答案

嗨,我只是遇到了同样的问题,经过一番谷歌搜索后,我最终得到了:

from django.test import TestCase
from django.core.files import File as DjangoFile
from home.models import Tab, File

class FileModelTest(TestCase):

def setUp(self):
self.tab = Tab.objects.create(
title="Title",
html="<p>test</p>",
published=True
)
self.file = File.objects.create(
tab=self.tab,
file=DjangoFile(open("home/tests/models.py"), "test_file.css")
)

def tearDown(self):
self.file.delete()
self.tab.delete()


希望这对某人有帮助。

关于django - 使用FileField测试Django模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1533861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com