मैं एक स्वयं लिखित फॉर्मफिल्ड ऑडियोफाइलफॉर्मफ़िल्ल्ड का परीक्षण करने की कोशिश कर रहा हूं, जो जांचता है कि फ़ाइल संग्रहीत करने से पहले एक ऑडियोफ़ाइल है या नहीं। इसके लिए मैंने to_python विधि को अधिलेखित किया है। इस फॉर्मफिल्ड का परीक्षण करने की कोशिश कर मैं कुछ कठिनाइयों में भाग गया।किसी फॉर्म का परीक्षण करने के लिए दायरता को अनुकरण करने का सही तरीका क्या है?
यह मेरा testcase अब तक है: 'फ़ाइल' वस्तु कोई विशेषता जब मैं एक सही डिबग ट्रेस डालने 'प्राप्त'
है:
from django import forms
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase
class TestAudioFileFormField(TestCase):
""" test the formfield to use for AudioFile Uploads """
class TestForm(forms.Form):
audiofilefield = AudioFileFormField()
def setUp(self):
self.AUDIOFILE_TEST_ROOT = os.path.dirname(__file__) + '/data/'
self.files = audiofile_files
def test_to_python(self):
""" assign some files to a form and validate the form """
f = file(self.AUDIOFILE_TEST_ROOT + self.files[0])
file_data = {'audiofilefield':SimpleUploadedFile(self.files[0],f.read())}
data = {}
form = self.TestForm(data,f)
form.is_valid()
लाइन form.is_valid() एक AttributeError को जन्म देती है form.is_valid() से पहले, इस मैं कि इंटरैक्टिव सत्र में क्या मिलता है:
ipdb> form.is_valid()
AttributeError: 'file' object has no attribute 'get'
ipdb> suf = file_data['audiofilefield']
ipdb> suf
<SimpleUploadedFile: invalid_format.mp3 (text/plain)>
ipdb> dir(suf)
[lots of info here]
ipdb> form.is_valid()
True
वास्तव में क्या मैं इंटरैक्टिव सत्र में बदल दिया है, ताकि फ़ॉर्म सत्यापन काम कर रहा है? AttributeError से बचने के लिए फ़ाइल को SimpleUploadedFile में पास करने का सही तरीका क्या होगा?
क्या आपको यह प्रदूषण आपकी 'अपलोड/'निर्देशिका नहीं मिलता है? –