Writing Your First Test
Birinchi testingizni yozish
Go'da test — bu nomi Test bilan boshlanadigan, bitta *testing.T parametrini oladigan oddiy funksiya. Bu darsda birinchi haqiqiy testingizni yozasiz va go test uni haqiqatan ishga tushirganini ko'rasiz.
package main
import "testing"
func Multiply(a, b int) int {
return a * b
}
func TestMultiply(t *testing.T) {
got := Multiply(6, 7)
want := 42
if got != want {
t.Errorf("Multiply(6, 7) = %d, kutilgan %d", got, want)
}
}func TestMultiply(t *testing.T) — funksiya nomi albatta Test bilan boshlanishi va katta harf bilan davom etishi kerak (Go buni avtomatik topadi). Ichkarida oddiy tekshiruv: natija kutilganidan farq qilsa, t.Errorf chaqiriladi — bu testni "muvaffaqiyatsiz" deb belgilaydi, lekin dasturni to'xtatmaydi (t.Fatalf esa darhol to'xtatadi). Agar t.Errorf chaqirilmasa — test avtomatik "muvaffaqiyatli" hisoblanadi.
E'tibor bering: bu darsda "Run"/"Submit" bosganingizda, muhitimiz sizning kodingizni oddiy dastur sifatida emas, balki haqiqiy go test buyrug'i bilan ishga tushiradi — chiqishda === RUN va --- PASS/--- FAIL qatorlarini ko'rasiz.
>_ Exercise
IsPositive funksiyasi uchun test yozing.
- •IsPositive(7) true qaytarishini tekshiruvchi TestIsPositive yozing
- •noto'g'ri natija bo'lsa t.Errorf chaqiring
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
Test — TestXxx(t *testing.T) shaklidagi oddiy funksiya; noto'g'ri natijani t.Errorf bilan xabar qilasiz.
NEXT UP
Table-Driven Tests
$ go run main.go
Kodingizni ishga tushiring