django - how zu unit-test ein post-request mittels request.DATEIEN

Habe ich die folgende Logik, meiner Ansicht nach:

def view_function(request):
    if request.method == 'POST':
        uploadform = UploadFileForm(request.POST, request.FILES)
        if uploadform.is_valid():
            #do stuff

Wo UploadFileForm gleich:

class UploadFileForm(forms.Form):
    file = forms.FileField()

Ich bin versucht, zu schreiben unit-tests für diese Ansicht. Suchen in Django-docs, die empfohlene Möglichkeit ist diese:

class test_stuffTest(TestCase):
    def setUp(self):
        self.client = django.test.client.Client()
    ...
    def test_stuff(self):
        myfile = open('....\file.csv','r')
        response = self.client.post('/', {'name':'file.csv','attachment':myfile})
        #check response

Mein Ziel ist es, uploadform.is_valid() zu True ausgewertet werden, damit ich den code testen können, folgt die form der Validierung. Wenn ich den test oben, uploadform.is_valid() zu False ausgewertet wird. Ist es etwas, was ich bin fehlt? Ist der code in meinem test-hinzufügen der Datei auf Anfrage.DATEIEN, oder ist es etwas anderes?

Wenn Sie nicht sicher sind, was in request.FILES, das Schnellste, was zu tun ist, fügen Sie eine print-Anweisung in Ihrem Blick zu sehen, was Los ist.
hmm ich versucht, aber die DATEIEN argument ist nicht enthalten in der Ausgabe. Gibt es eine Einstellung um es zu aktivieren?

InformationsquelleAutor vasek1 | 2012-03-03

Schreibe einen Kommentar