SORU
19 HAZİRAN 2012, Salı


Nasıl Django DoesNotExist hariç alabilirim?

Bir nesne silinmiş olduğunu doğrulamak için bir UnitTest oluşturmak için çalışıyorum.

from django.utils import unittest
def test_z_Kallie_can_delete_discussion_response(self):
  ...snip...
  self._driver.get("http://localhost:8000/questions/3/want-a-discussion") 
  self.assertRaises(Answer.DoesNotExist, Answer.objects.get(body__exact = '<p>User can reply to discussion.</p>'))

Hata almaya devam ediyorum:

DoesNotExist: Answer matching query does not exist.

CEVAP
19 HAZİRAN 2012, Salı


Zaten düzgün, DoesNotExist modelin kendi özelliğidir, bu durumda Answer yazdığın gibi almaya gerek yok.

Senin sorunun assertRaises geçirilmeden önce get yöntemi özel durum yükseltir - - aradığınız bu. unittest documentation: çağrı, olarak tanımlanan bağımsız değişkenler ayrı

self.assertRaises(Answer.DoesNotExist, Answer.objects.get, body__exact='<p>User can reply to discussion.</p>')

ya da daha iyisi:

with self.assertRaises(Answer.DoesNotExist):
    Answer.objects.get(body__exact='<p>User can reply to discussion.</p>')

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • KRQE

    KRQE

    6 AĞUSTOS 2007