Saya ingin mensimulasikan permintaan ke pandangan saya di Django ketika saya menulis percobaan. Ini terutama untuk menguji formulir. Berikut cuplikan permintaan pengujian sederhana:
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
self.assertEqual(response.status_code, 200) # we get our page back with an error
Halaman selalu mengembalikan respon 200 apakah ada kesalahan formulir atau tidak. Bagaimana cara memeriksa bahwa Formulir saya gagal dan bidang tertentu ( soemthing
) mengalami kesalahan?
python
django
django-testing
Mridang Agarwalla
sumber
sumber
self.assertEquals(form.errors['recipient'], [u"That recipient isn't valid"])
self.assertEqual(form.is_valid(), True)
dapat disederhanakan:self.assertTrue(form.is_valid())
https://docs.djangoproject.com/en/stable/topics/testing/tools/#django.test.SimpleTestCase.assertFormError
Di mana "formulir" adalah nama variabel konteks untuk formulir Anda, "sesuatu" adalah nama bidang, dan "Bidang ini wajib diisi". adalah teks persis dari kesalahan validasi yang diharapkan.
sumber
self.client.force_login(self.user)
sebagai baris pertama dalam metode pengujian.Jawaban asli tahun 2011 adalah
Tapi saya lihat sekarang (2018) ada banyak sekali pernyataan yang berlaku tersedia :
Ambil pilihanmu.
sumber