CodeBlanks Logo Icon CodeBlanks

Test fonksiyonu

func TestXxx imzasını ve go test komutunu öğrenirsin.

Test fonksiyonu

Go'da testler _test.go ile biten dosyalarda yazılır ve go test ile çalışır. Test fonksiyonu Test ile başlar ve *testing.T alır:

// topla_test.go
package hesap

import "testing"

func TestTopla(t *testing.T) {
    if got := Topla(2, 3); got != 5 {
        t.Errorf("Topla(2, 3) = %d, beklenen 5", got)
    }
}

Ayrı bir test çerçevesi yoktur; standart testing paketi yeterlidir.

go test bayrakları

Sık kullanılan bayraklar:

go test ./...            # tüm paketler
go test -v -run TestTopla # ayrıntılı, adı eşleşen testler
go test -race ./...      # veri yarışı denetimi
go test -cover ./...     # kapsama oranı
go test -count=1 ./...   # önbelleği atla

Testler paketin iç fonksiyonlarına erişebilir; dışarıdan bakmak için package hesap_test kullanılır.

Uygulama Mini test çalıştırıcı

Testin özünü taklit et: Topla(a, b int) int yaz. main içinde got := Topla(2, 3) ve got != 5 ise "FAIL", değilse "PASS" yazdır.

Başlangıç kodu

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import "fmt"

func Topla(a, b int) int { return a + b }

func main() {
    if got := Topla(2, 3); got != 5 {
        fmt.Println("FAIL")
        return
    }
    fmt.Println("PASS")
}

Beklenen çıktı

PASS

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>go test</code> hangi fonksiyonu test olarak çalıştırır?

  • func TestToplam()
  • func TestToplam(t *testing.T) Doğru cevap
  • func testToplam(t *testing.T)
  • func Testtoplam(t *testing.T)

Açıklama: Ad Test ile başlamalı ve ardından büyük harf (ya da hiç karakter) gelmeli; tek parametre *testing.T olmalıdır.

2 Test dosyası

Soru
// topla____.go
package hesap
Cevap
// topla_test.go
package hesap

Açıklama: go test yalnızca _test.go ile biten dosyalardaki testleri derler ve çalıştırır.

3 Bayrak ve etkisi

Kavram Anlamı
-v Ayrıntılı çıktı
-run Ada göre süz
-race Yarış denetimi
-cover Kapsama

Orta seviye bölümündeki tüm dersler