Size: a a a

2020 June 04

BR

Bender Rodriga in Go-go!
boy next door
Да читал, но я не понял зачем используется ($1,$2)
конкретно в этом примере вместо $1 "gopher" вместо $2 27
источник

ВГ

Владимир Гришин... in Go-go!
Маленький опрос. Как вы делаете автотестирование приложений с бд?
1) мокаете sql
2) тестовая бд в системе разработчика
3) все тесты - в докере
источник

NK

Nikolay Kiselev in Go-go!
Мокать SQL? Как это может выглядеть? Можете подсказать, чат?
источник

ВС

Владимир Столяров... in Go-go!
источник

BT

Bohdan Turchyk in Go-go!
Владимир Гришин
Маленький опрос. Как вы делаете автотестирование приложений с бд?
1) мокаете sql
2) тестовая бд в системе разработчика
3) все тесты - в докере
1, 3
для тестирования "репозиториев" есть еще in-memory база
источник

DP

Daniel Podolsky in Go-go!
Владимир Гришин
Маленький опрос. Как вы делаете автотестирование приложений с бд?
1) мокаете sql
2) тестовая бд в системе разработчика
3) все тесты - в докере
все в докере
источник

E

Edgar in Go-go!
Владимир Гришин
Маленький опрос. Как вы делаете автотестирование приложений с бд?
1) мокаете sql
2) тестовая бд в системе разработчика
3) все тесты - в докере
так ты про юниты или интеграционные?
источник

NK

Nikolay Kiselev in Go-go!
Спасибо!
источник

ВГ

Владимир Гришин... in Go-go!
Edgar
так ты про юниты или интеграционные?
наверное скорее про интеграционные.
Те тесты, в которой надо проверить, что метод SaveItem действительно сохраняет пост в бд - это интеграционные уже или еще юнит?
источник

DP

Daniel Podolsky in Go-go!
Владимир Гришин
наверное скорее про интеграционные.
Те тесты, в которой надо проверить, что метод SaveItem действительно сохраняет пост в бд - это интеграционные уже или еще юнит?
там, где появляется БД - уже интеграционные

юниты пишутся моканием прослойки между твоим кодом и БД

если тебе потребовалась БД - ты тестишь или свою прослойку (обычно не нужно, она обычно тупая), или саму БД (не твоя задача), или продукт в целом (интеграционный тест)
источник

E

Edgar in Go-go!
Владимир Гришин
наверное скорее про интеграционные.
Те тесты, в которой надо проверить, что метод SaveItem действительно сохраняет пост в бд - это интеграционные уже или еще юнит?
В общем, как уже выразился выше Даниил, если у тебя нужно протестить прослойку Repo (некий интерфейс) просто мокаешь этот интерфейс

В остальных случаях интеграционные
источник

E

Edgar in Go-go!
То есть: раз метод SaveItem, я буду верить, что он у интерфейса и ты его тогда легко сможешь замокать :)
источник

ВГ

Владимир Гришин... in Go-go!
Daniel Podolsky
там, где появляется БД - уже интеграционные

юниты пишутся моканием прослойки между твоим кодом и БД

если тебе потребовалась БД - ты тестишь или свою прослойку (обычно не нужно, она обычно тупая), или саму БД (не твоя задача), или продукт в целом (интеграционный тест)
ну ок, значит, интеграционные. меня на самом деле не особенно интересует терминология. Вопрос скорее в том, как на практике чят тестит свои сервисы.
источник

E

Edgar in Go-go!
Так подожди, ты тестируешь логику выполнения, условного метода SaveItem, или бизнес логику, которая его дергает?
источник

IK

Ilya Kaznacheev in Go-go!
Гайс, а в голенде/идее можно как-то объединить несколько репозиториев в один проект?
Или несколько проектов объединить в один суперпроект?
источник

ВГ

Владимир Гришин... in Go-go!
Edgar
Так подожди, ты тестируешь логику выполнения, условного метода SaveItem, или бизнес логику, которая его дергает?
смотрите, у меня есть набор тестов, которые в том числе должны проверять и то что при вызове апи дергается условный метод SaveItem, так и то, что этот итем хорошо кладется в базочку, не вызывает(или вызывает) каких-нибудь конфликтов, и все такое.
Я хочу, чтобы у меня была команда, которая вызывается на машине разраба и команда, которая вызывается в CI.
Мне интересно, как люди в этом чате реализуют эти команды на практике. Я так понимаю, у @onokonem эта команда вызывает некий докер компоуз, который поднимает мини-среду в докере и прогоняет тесты. Мне интересно, как остальные делают это
источник

BT

Bohdan Turchyk in Go-go!
Ilya Kaznacheev
Гайс, а в голенде/идее можно как-то объединить несколько репозиториев в один проект?
Или несколько проектов объединить в один суперпроект?
делал проект в папке с проектами для такого
источник

E

Edgar in Go-go!
просто звучит все таки, как два разных теста
1) Проверка слоя, который дергает SaveItem
2) Тест на адекватную закладку данных туда
источник

E

Edgar in Go-go!
Но если хочешь все таки один, то да, с докером это отлично решается
источник

ВС

Владимир Столяров... in Go-go!
Владимир Гришин
смотрите, у меня есть набор тестов, которые в том числе должны проверять и то что при вызове апи дергается условный метод SaveItem, так и то, что этот итем хорошо кладется в базочку, не вызывает(или вызывает) каких-нибудь конфликтов, и все такое.
Я хочу, чтобы у меня была команда, которая вызывается на машине разраба и команда, которая вызывается в CI.
Мне интересно, как люди в этом чате реализуют эти команды на практике. Я так понимаю, у @onokonem эта команда вызывает некий докер компоуз, который поднимает мини-среду в докере и прогоняет тесты. Мне интересно, как остальные делают это
Есть dockertest и testcontainers-go, можно докером управлять прямо из тестов
источник