.. | ||
helper_test.go | ||
README.md | ||
require.go | ||
require_test.go | ||
t.go |
testequal
В этой задаче нужно реализовать 4 test helper'а аналогичных функциям из testify:
func AssertEqual(t T, expected, actual interface{}, msgAndArgs ...interface{}) bool
func AssertNotEqual(t T, expected, actual interface{}, msgAndArgs ...interface{})
func RequireEqual(t T, expected, actual interface{}, msgAndArgs ...interface{})
func RequireNotEqual(t T, expected, actual interface{}, msgAndArgs ...interface{})
Пример теста:
func TestMath(t *testing.T) {
AssertEqual(t, 1, 2, "1 == 2")
}
вывод:
=== RUN TestMath
--- FAIL: TestMath (0.00s)
helper_test.go:43: not equal:
expected: 1
actual : 2
message : 1 == 2
FAIL
FAIL gitlab.com/slon/shad-go/require 0.003s
FAIL
В отличие от testify реализация ограничивает набор типов, с которыми умеет работать:
- Целые числа: int, in64 и др (см. тесты)
- string
- map[string]string
- []int
- []byte
Ссылки
- testing.T: https://golang.org/pkg/testing/#T
- type assertions: https://golang.org/doc/effective_go.html#interface_conversions