- PVSM.RU - https://www.pvsm.ru -
ftest [1] — библиотека, упрощающая тестирование. Имеет плавучий дизайн, что уменьшает количество строк кода. Использует t.Helper() чтобы во время сбоя теста вместо кучи сообщений выводить лишь одну актуальную строку, где тест не прошел
ftest/fclient [1] — Помощник при тестировании http приложений, основанный на ftest.
Примеры:
import (
"testing"
"github.com/alexbyk/ftest"
)
func TestFoo(t *testing.T) {
ftest.New(t).Eq(2, 2).
Contains("FooBarBaz", "Bar").
PanicsSubstr(func() { panic("Foo") }, "Foo")
}
import (
"fmt"
"net/http"
"testing"
"github.com/alexbyk/ftest/fclient"
)
func hello(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`{"foo": "bar"}`))
}
func Test_hello(t *testing.T) {
cl := fclient.New(t, hello)
cl.Get("/hello").CodeEq(200).
BodyContains("bar").
JSONEq(`{"foo":"bar"}`)
// можно напрямую использовать ответ
res := cl.Get("/hello")
fmt.Println(res.Body)
}
Автор: alexbyk
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/testing/269677
Ссылки в тексте:
[1] ftest: https://github.com/alexbyk/ftest
[2] Источник: https://habrahabr.ru/post/343698/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.