Size: a a a

var chat = new Chat();

2021 September 03

YM

Yury Morozov in var chat = new Chat();
Все эти рекомендации - полное фуфло. У вас в проде тоже тесткейчы изолированные? Проверять то, что у вас EF работает пусть проверяют мейнтейнеры EF. А в реальной жизни нужны реальные тесткейсы которые есть в реальной базе. Там может быть разный порядок данных, другая статистика на индексах и прочие реальные вещи и тестировать нужно именно это. Все реальные кейсы с БД которые я исправлял никак не проявлялись на тестовой БД
источник

AS

Andrii Shcherbyna in var chat = new Chat();
А ты знаешь, что у многих на больших аутсорс проектах нету доступа к прод базе и реальных данных? Ещё зависит от того, как построена пирамида тестирования. Ещё же есть слои автомейшина, где могут быть разного рода тесты.
источник

В

Ваня in var chat = new Chat();
ну это ты больше про перф говоришь, + есть шанс что-то сломать
источник

В

Ваня in var chat = new Chat();
один неверный запрос и могут быть проблемы
источник

В

Ваня in var chat = new Chat();
конечно с бекапов все поднимается, но в принципе такое себе, + если будут тяжелые запросы в тестах можно немного базу нагрузить
источник

YM

Yury Morozov in var chat = new Chat();
Никто не говорит про боевую БД, никто не мешает нагенерить данные. Просто данных должно быть много и заниматься этим для каждого кейса - такое себе
источник

В

Ваня in var chat = new Chat();
ааа, в этом смысле
источник

В

Ваня in var chat = new Chat();
тогда +
источник

YM

Yury Morozov in var chat = new Chat();
Если 1 запрос может нести проблемы, то должна быть квалификация + код ревью
источник

YM

Yury Morozov in var chat = new Chat();
Плюс никто не мешает сделать обязательным рядом с квери писать в коментах получаемый SQL код чтобы его сразу можно было бы оценить
источник

YM

Yury Morozov in var chat = new Chat();
Короче тут много тонкостей, но тесткейсы на маленьких выборках обычно не подсказывают ни-че-го
источник

В

Ваня in var chat = new Chat();
ну опять же, большие выборки показывают перф, это конечно важно, но бизнес логику вполне можно тестить и на маленьких выборках, главное чтобы они учитывали как можно больше кейсов
источник

В

Ваня in var chat = new Chat();
так он говорит один раз наполнить)
источник

YM

Yury Morozov in var chat = new Chat();
Вот приведи пример хотя бы 1 тест кейса из этих 22 минут
источник

ВО

Влад Ого in var chat = new Chat();
Кто как делал поиск по локализированому значению? Типо юзер пишет название страны на своем языке, а мне надо эту страну найти? Хранить локалицию в бд? Как-то тухло. Хранить в файле локализации - искать тогда в бд коды стран, которые подходят и искать в файле локализации значение? Тоже не очень
источник

ВО

Влад Ого in var chat = new Chat();
Если хранить в бд локализацию, то все значения для всех языков запихать в одну таблицу, где ключем будет ид, дескриптор ентити для локализации, язык, возможно поле, которое локализируем? Ну и колонка со значением
источник

ВО

Влад Ого in var chat = new Chat();
Или в каждой таблице по колонке на язык со значением на локализированую пропертю?
источник

YM

Yury Morozov in var chat = new Chat();
Ну то, что я видел чаще всего - это таблица со словарем в 6 столбцов локализированных значений типа en, es, fr, de, cn, jp
источник

YM

Yury Morozov in var chat = new Chat();
Подход не очень (потому что языков-то больше), но универсальная таблица локализации может больше базу нагружать
источник

YM

Yury Morozov in var chat = new Chat();
Но твой конкретный кейс с поиском в таблице локализации будет очень удобно делать
источник