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

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

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

15 ответов

24 просмотра

Посмотри 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 Автор вопроса
Андрей Н
А что тогда тестирует тест? он тетсирует функцию? ...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта