Ishga tayyor · Test strategiyasi

Daraja: O'rta

Unit, slice, integration va end-to-end testni riskka qarab tanlash.

Tushuntirish

## Ishdagi vazifa Test sonini emas, eng qimmat regressiyalarni ushlash. Pure biznes qoidasi unit testda tez tekshiriladi. Controller slice HTTP mapping, validation va securityni; repository integration real DB xatti-harakatini; end-to-end esa oz sonli kritik user oqimini himoya qiladi.

## Sifat Test implementation detaliga emas, observable behaviorga bog‘lanadi. Arrange-Act-Assert tushunarli bo‘lsin. Vaqt, random, tashqi API va current user controllable dependency orqali beriladi. PostgreSQLga xos query H2 bilan isbotlanmaydi; real engine yoki Testcontainers kerak. Flaky testni retry bilan yashirmang.

## Ishga tayyor mezon Har production bug avval uni takrorlaydigan regression testga aylanadi.

Kod misoli

@Test
void duplicateKeyReturnsPreviousReceipt() {
  var first = service.pay(42L, "same-key");
  var second = service.pay(42L, "same-key");
  assertThat(second).isEqualTo(first);
}

Keng tarqalgan xatolar

Mashqlar

Teglar: career-04, testing, quality, ishga-tayyor

Interaktiv ko'rinish (viktorina, izohlar, tarix)