Size: a a a

2020 April 20

R

Ruslan in Go-go!
Georgy
Запускать хотелось бы как Go *_test тесты, что бы тестировать API функционал.
тогда это выглядит как мок тесты, правильно? если так, то httptest выглядит, как удобный вариант
источник

VM

Vladislav Milenin in Go-go!
Alex
Минут 20 дебажил, не мог понять)
А го тур прошли бы 100 раз за это время и нашли свой ответ
источник

G

Georgy in Go-go!
Ruslan
тогда это выглядит как мок тесты, правильно? если так, то httptest выглядит, как удобный вариант
Не совсем понятно, что такое мок тесты?

C httptest как то много телодвиженый делать - marshal/unmarshal ... и тд и тп. Возможно есть фрэймворки которые инкапсулируют эту рутину?
источник

VM

Vladislav Milenin in Go-go!
Georgy
Не совсем понятно, что такое мок тесты?

C httptest как то много телодвиженый делать - marshal/unmarshal ... и тд и тп. Возможно есть фрэймворки которые инкапсулируют эту рутину?
Нет фреймворков. Го про статическую типизацию, а значит описывать типы и ручками анмаршалить - в порядке вещей
источник

R

Ruslan in Go-go!
Georgy
Не совсем понятно, что такое мок тесты?

C httptest как то много телодвиженый делать - marshal/unmarshal ... и тд и тп. Возможно есть фрэймворки которые инкапсулируют эту рутину?
не происходит реальных сохранений в базу, вызовов очередей и тд. Httptest очень простая либа, можете ее использовать плюс ваши модели. Если хочется фреймворка/либы, то на го гуглением вылезают https://github.com/h2non/baloo https://github.com/steinfletcher/apitest либо селениум стандартный - но это джава
источник

VM

Vladislav Milenin in Go-go!
Да и что там описывать, описал структуру, сделал ей метод marshal/unmarshal (если надо), вызываешь без «рутины»

Ничего низкоуровневого в этом нет
Либо вам язык не подходит
источник

G

Georgy in Go-go!
Vladislav Milenin
Да и что там описывать, описал структуру, сделал ей метод marshal/unmarshal (если надо), вызываешь без «рутины»

Ничего низкоуровневого в этом нет
Либо вам язык не подходит
Описание структуры - это ясно. Но ведь много другого однотипного кода вроде
    http.NewRequest() 
   httptest.NewRecorder()
   http.HandlerFunc()
   handler.ServeHTTP()
   marshal/unmarshal
...
источник

G

Georgy in Go-go!
Ruslan
не происходит реальных сохранений в базу, вызовов очередей и тд. Httptest очень простая либа, можете ее использовать плюс ваши модели. Если хочется фреймворка/либы, то на го гуглением вылезают https://github.com/h2non/baloo https://github.com/steinfletcher/apitest либо селениум стандартный - но это джава
Пока что подразумевается, что тестируемый сервис будет работать со всем тем, что нужно. То есть заглушек не будет никаких.
источник

G

Georgy in Go-go!
Ruslan
не происходит реальных сохранений в базу, вызовов очередей и тд. Httptest очень простая либа, можете ее использовать плюс ваши модели. Если хочется фреймворка/либы, то на го гуглением вылезают https://github.com/h2non/baloo https://github.com/steinfletcher/apitest либо селениум стандартный - но это джава
Вот https://github.com/steinfletcher/apitest выглядит интересно. С подобного рода тестами иметь дело:
func TestApi(t *testing.T) {
 apitest.New().
   Handler(handler).
   Get("/user/1234").
   Expect(t).
   Body(`{"id": "1234", "name": "Tate"}`).
   Status(http.StatusCreated).
   End()
}
источник

VM

Vladislav Milenin in Go-go!
Georgy
Описание структуры - это ясно. Но ведь много другого однотипного кода вроде
    http.NewRequest() 
   httptest.NewRecorder()
   http.HandlerFunc()
   handler.ServeHTTP()
   marshal/unmarshal
...
на это все можно написать свою реализацию и переиспользовать
источник

G

Georgy in Go-go!
Vladislav Milenin
на это все можно написать свою реализацию и переиспользовать
ну велосипед же?
источник

VM

Vladislav Milenin in Go-go!
Georgy
ну велосипед же?
Нет
источник

G

Georgy in Go-go!
Зачем мне писать свою реализацию, если ее кто то уже возможно написал, и спроектировал гораздо лучше меня.
источник

VM

Vladislav Milenin in Go-go!
Georgy
Зачем мне писать свою реализацию, если ее кто то уже возможно написал, и спроектировал гораздо лучше меня.
Нечего там проектировать)
источник

а

а кто это in Go-go!
Vladislav Milenin
на это все можно написать свою реализацию и переиспользовать
ну вообще apitest выглядит симпатично
источник

VM

Vladislav Milenin in Go-go!
Пишется за пару минут все упомянутое
источник

а

а кто это in Go-go!
ассерт вообще занимает пару строчек, но это не повод не использовать testify
источник

VG

Vladislav Gruchik in Go-go!
А есть какой-нибудь линтер проверяющий rows.Close() ?
источник

V

Volodymyr🌼 in Go-go!
Привет, хотел вот спросить ничего ли с того времени не изменилось, все так же нельзя подстраивать линтер чтоб игнорировать некоторые сообщения?
источник

J

Jefferson in Go-go!
Подскажите, что не так? Ловлю ошибку illegal base64 data at input byte 79 при расшифровку base64.
У меня на сервер отправляется пост запрос такого вида: domain.com/test/?data=*ключ длинной 16 символов*base64(данные, зашифрованные XOR с ключём в 16 символов (тот, что стоит перед base64 строкой))
источник