170 похожих чатов

Кстати, прекрасный вопрос про моки) а у кого нибудь есть

опыт как организовать нормальные функциональные тесты? Хочется вызвать grpc метод, проверить его ответ и быть уверенным что в базе на каждый тест будет лежать ожидаемое состояние. Есть ли какое нибудь готовое решение, чтобы подсовывать приложению тестовую базу с фикстурами и очищать её на каждый тест?

15 ответов

27 просмотров

Посмотри gonkey

Юрка Белюшин
Посмотри gonkey

В нем можно закладывать фикстуры так же смотреть ожидаемый результат, и готовый. МОК нас grpc не могу сказать http client точно можно замокать

Egor-Chistiakov Автор вопроса

Смотрел, даже законтрибьютил туда фикс багулины, вопрос в том, что он не нужен целиком, а хочется реализовать только функциональность связанную с базой

Egor Chistiakov
Смотрел, даже законтрибьютил туда фикс багулины, в...

Я правильно понял, что это задать initial state в бд, запустить тест, и чекнуть результат. И почистить бд?

Egor-Chistiakov Автор вопроса
Egor Chistiakov
Именно

Задача со звездочкой, научиться делать это в докере, запускаемом girlab-ci

Egor Chistiakov
Именно

https://pkg.go.dev/github.com/stretchr/testify/suite Практиковал вот такое, Создаем структуры с Необходимым инстанс с хранилищем, готовим фикстуру, Миграцию если необходимо. Потом готовим, service/usecase который проверяем, по желанию если есть external service, можно из gonkey моксервис взять, Что то в таком духе

Юрка Белюшин
https://pkg.go.dev/github.com/stretchr/testify/sui...

это у вас синдром питона, фикстуры там) но я вам понимаю, тоже использую testify и называю их фикстурами))

Artur Karapetov
это у вас синдром питона, фикстуры там) но я вам ...

В то время мои знания по питону, подключаю СДК нейронки написаную на C и передаю ей бантики 😭

А мне иногда не понятно зачем проверять, что сохранили. Можно протестировать контракты на каждом уровне, У меня все покрыто тестами. Кроме репозитория или cqrs. Вопросы встают вот такие: 1. зачем тестировать как мы сохранили в бд? 2. Что будет если поменяется хранилище с sql на no sql?

Юрка Белюшин
А мне иногда не понятно зачем проверять, что сохра...

У меня тестируется имплементация репозитория. поменяется репозиторий - напишутся к нему новые тесты

Egor-Chistiakov Автор вопроса
Юрка Белюшин
А мне иногда не понятно зачем проверять, что сохра...

Зачем писать миллион моков которые завязаны на реализации если можно положить в базу состояние и проверить ожидаемый ответ в ручке? Для no sql просто поменется нижний уровень который фикстуры подкладывает в базу

Egor Chistiakov
Зачем писать миллион моков которые завязаны на реа...

А что тогда тестирует тест? он тетсирует функцию? или базу? А если ошибка, то в каком месте? такой подход ломает принцип single responsibility

Egor-Chistiakov Автор вопроса
Андрей Н
А что тогда тестирует тест? он тетсирует функцию? ...

Тест проверяет функциональное требование к микросервису, что контракт выполняется на наборе данных в заданном окружении

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта