الاختبار
لدى Go إطار اختبار خفيف الوزن يتكوّن من الأمر go test وحزمة testing.
تكتب الاختبار بأنشئ ملفًا ينتهي اسمه بـ _test.go يحتوي دوال اسمها TestXXX وتوقيعها func (t *testing.T). ويشغّل إطار الاختبار كل دالة من هذه الدوال؛ فإذا استدعت الدالة دالة فشل مثل t.Error أو t.Fail، عُدَّ الاختبار فاشلًا.
أضف اختبارًا إلى حزمة morestrings بأنشئ الملف $HOME/hello/morestrings/reverse_test.go الذي يحتوي شيفرة Go التالية:
package morestrings
import "testing"
func TestReverseRunes(t *testing.T) {
cases := []struct {
in, want string
}{
{"Hello, world", "dlrow ,olleH"},
{"Hello, ", " ,olleH"},
{"", ""},
}
for _, c := range cases {
got := ReverseRunes(c.in)
if got != c.want {
t.Errorf("ReverseRunes(%q) == %q, want %q", c.in, got, c.want)
}
}
}
ثم شغّل الاختبار بـ go test:
$ cd $HOME/hello/morestrings
$ go test
PASS
ok example/user/hello/morestrings 0.165s
$
وشغّل go help test وانظر توثيق حزمة testing لمزيد من التفاصيل.