2012-03-26 16 views
2

Ich habe Probleme mit dem Schreiben eines Komponententests, der überprüft, ob mein benutzerdefiniertes Ressourcenpostattribut funktioniert. Ich habe es geschafft, es mit einer einfachen manuellen jQuery arbeiten zu lassen, aber das ist nicht hilfreich für Langzeittests.tastypie- und django-Testfälle

Angenommen, mein Test wie folgt aussieht:

def testCollectionPost(self): 
    """ Test Create Entry operation. 
    """ 
    initialData = self.client.get(self.collectionUrl, format='json') 
    jsonObject = json.loads(initialData.content) 
    initialCount = jsonObject['meta']['total_count'] 

    dataToPost = {'id': initialCount + 1} # Real version contains other appropiate data 
    response = self.client.post(self.collectionUrl, data=json.dumps(dataToPost), content_type='application/json') 
    self.assertEqual(response.status_code, 201) 
    responseGet = self.client.get(self.collectionUrl, format='json') 
    jsonObject = json.loads(responseGet.content) 
    self.assertEqual(jsonObject['meta']['total_count'], initialCount + 1) 

Das gibt mir ein 500-Fehler zurück, und ich habe ganz und gar nicht in der Lage gewesen, wieder eine echte Rückverfolgung zu erhalten.

Aus meiner Hauptseite, lief ich die folgenden, die gut funktioniert:

dataToPost = {'id': 277} # Real version has more data, that matches the unit test. 
pResp = $.ajax({ type: 'POST', 
    url: 'http://nelsog2.blah.example.com/metrics/api/v1/system_info/', 
    data: JSON.stringify(dataToPost), 
    contentType: 'application/json'}) 

Wer fo eine Idee, was das Problem ist?

Antwort

0

Problem scheint sich selbst behoben zu haben. Meine Vermutung ist, dass die Anfrage von einem Cache abgefangen wurde, der den Fehler 500 zurückgab, nachdem ich das Problem bereits behoben hatte.

Verwandte Themen