Junior — Middle
Чӣ гуна навиштани тестҳои воҳидӣ ва интегратсионӣ дар забони Go анҷом дода мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар Го истифода мешавад, барои навиштани тестҳои воҳидӣ ва интегратсионӣ, пакет testing.
- Тестҳои воҳидӣ функсияҳо ё усулҳоро дар ҷудогона санҷишӣ месозад.
- Тестҳои интегратсионӣ ҳамкории чанд компонент ё кор бо захираҳои берунаҳоро санҷишӣ мекунад.
Масалан барои тестҳои воҳидӣ:
package mypackage
import "testing"
func TestSum(t *testing.T) {
got := Sum(2, 3)
want := 5
if got != want {
t.Errorf("Sum(2, 3) = %d; want %d", got, want)
}
}
Барои тестҳои интегратсионӣ, метавон файлҳои алоҳида бо суффикси _integration_test.go истифода бурд ва онҳоро ҷудогона иҷро кард, масалан бо парчами -tags=integration.
Ҳамчунин, одатан объектҳои мок ё базаҳои тестӣ барои имитацияи вобастагиҳои беруна истифода мешаванд.
Иҷрои тестҳо:
go test ./... # Ҳама тестҳоро иҷро мекунад
Инчунин, Go механизмҳои содда ва дарунсохт барои навиштани ва иҷрои тестҳоро пешниҳод мекунад.