GoDasturchi
Writing Your First Test

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.

example.go
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.

Hints (0/3)

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

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

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.

example.go
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.

Hints (0/3)

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