Здравствуйте. Проверяю тему "тестирование" в Golang. Написал простой тест (сравнение двух чисел, 3 варианта ответа), тестирование проходит, покрытие теста 100%, но почему в конце система пишет FAIL? Вроде бы по документации там должно стоять PASS.
Программа simple.go
package main
func Question(a int, b int) int{
if a > b {
return 1
} else if a < b {
return 2
} else {
return 3
}
}
Программа simple_test.go
package main
import (
"testing"
)
type twoValue struct {
x int
y int
}
var tests = []twoValue{
{ 1,2 },
{ 2,1 },
{ 2,2 },
}
func TestQuestion(t *testing.T) {
for _, value := range tests {
res := Question(value.x, value.y)
if res == 1 {
t.Errorf("Больше")
}
if res == 2 {
t.Errorf("Меньше")
}
if res == 1 {
t.Errorf("Равно")
}
}
}
Реакция на команду `go test -v -cover`
=== RUN TestQuestion
--- FAIL: TestQuestion (0.00s)
simple_test.go:26: Меньше
simple_test.go:23: Больше
simple_test.go:29: Равно
FAIL
coverage: 100.0% of statements
exit status 1
FAIL
Я чувствую, что делаю что-то не правильно, но что именно - понять не могу. Кто подкажет что исправить? (К слову, и подачу данных в тест наверно можно как-то попроще написать, но в уроке было в таком формата, через структуру.)