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

  • Apple

    Apple

    22 HAZİRAN 2005
  • Fullscreen

    Fullscreen

    23 Mart 2006
  • John Lynn

    John Lynn

    8 Ocak 2010