Bir usul uchun ijobiy va salbiy birlik testlari alohida sinovlarga ega bo'ladimi?

Aytaylik, menda mavjud bo'lgan ingliz pochta kodlarini tekshiradigan usul bor. To'g'ri UK kodi qabul qilinganda, u usulni tekshirib ko'radigan usul uchun birlik sinovini yozdim.

Noto'g'ri UK kodini tekshirish uchun alohida birlik sinovini yaratishi kerakmi yoki uni bir xil test sinovida bajarishim kerakmi?

Rahmat

4
Viktorina holatlariga, test suitlariga murojaat qiling. "
qo'shib qo'ydi muallif Ed Heal, manba
Bu qaysi til uchun bo'ladi? U erda juda ko'p ramkalar mavjud
qo'shib qo'ydi muallif Ed Heal, manba

3 javoblar

Har bir ish uchun alohida test holatlari yaratilishi kerak. Bu sizga ushbu usulni chaqiradigan har qanday kelgusida kodning ishlayotganiga ishonch hosil qiladi. Agar siz tekshiruvni amalga oshirsangiz, qanday sinov muvaffaqiyatsiz yakunlanganini bilib olishingiz mumkin.

5
qo'shib qo'ydi

Shaxsan men turli xil joriy kodli kodlarni (NE1 2XX, NE21 2XX, E1 3YY, va hokazo turli belgi va raqamlarni birlashtirganini tekshiruvchi) to'g'ri tekshirilishini tekshiradigan bir nechta testlarni va bir nechta noto'g'ri testlarni turli xil turlari (masalan, NEI 3XX).

1
qo'shib qo'ydi

test_valid_data() va test_invalid_data() va ikkita ma'lumotlar to'plamini valid_data [] deb nomlang. va invalid_data [] . So'ngra to'rtta sinov tartibini yozaman:

  • test_valid_data(valid_data[]) : This test should pass
  • test_valid_data(invalid_data[]) : This test should fail
  • test_invalid_data(valid_data[]) : This test should fail
  • test_invalid_data(invalid_data[]) : This test should pass

Bu kabi ishlarni bajarish muayyan ma'lumotlar majmui bo'yicha noto'g'ri testni aniqlash imkonini beradi. Bunday xatti-harakatlar birgina katta sinov bilan erishish qiyin bo'ladi. Shuningdek, tegishli ma'lumotlarning haqiqiy emasligi va teskarisini hisobga olmaydi.

1
qo'shib qo'ydi
Menga misol keltira olasizmi? Menimcha, bu juda qiziqarli usul.
qo'shib qo'ydi muallif ediblecode, manba
Buyuk Britaniya kodekslari bilan sizning misolingizdan so'ng, ikkita test funktsiyasi yarating: test_valid_postcode() va test_invalid_postcode() Keyin ikkita ma'lumotlar to'plamini yarating: valid_postcode [] va invalid_postcode [] . Birinchidan, sinovdan o'tgan (masalan, M1 1AA, B33 8TH, EC1A 1BB, va hokazo) sinov uchun haqiqiy ingliz pochta indeksi mavjud. Keyinchalik noto'g'ri ingliz pochta indeksi (masalan, M1 1AAAAAAAA, B33 8TH BCB 123 va boshqalar) ro'yxatini o'z ichiga olishi kerak. Endi har bir ma'lumotni har bir funktsiyaga qarshi sinab ko'rishingiz kerak. Bu sizga to'rtta kombinatsiyani beradi. Ikkalasi sinovdan o'tishi kerak, ikkinchisi esa muvaffaqiyatsiz bo'lishi kerak.
qo'shib qo'ydi muallif fmorency, manba
Ikkita test muvaffaqiyatsizlikka uchraganini bilganingiz uchun uni to'g'ri ishlashingiz mumkin. Ikki sinovdan bittasi o'tib ketsa, sizning kodingizdagi biror narsa noto'g'ri ekanligini bilasiz.
qo'shib qo'ydi muallif fmorency, manba