TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #438 3.6K
МОКИРУЕМ ADO NET РЕБЯТА 😱

Иногда хочется просто написать мужицкий SQL запрос без всяких ORM

Но вот незадача, несмотря на наличие абстракций по типу DbConnection, DbCommand и так далее

Не понятно, как такой код тестировать - как будто только интеграционники, и тут их адепты могут начать плясать с радостной пеной у рта

Но не тут было: на просторах GitHub нашлась библиотека, которая решает проблему

Например, есть сервис, который сравнивает кол-во строк в двух таблицах

Тогда замокировать можно следующим образом:
var mockDbConnection = new MockDbConnection();
mockDbConnection.Mocks
.When(cmd => cmd.CommandText.Contains("count(*) from t1"))
.ReturnsTable(
MockTable.WithColumns("Count")
.AddRow(1));
mockDbConnection.Mocks
.When(cmd => cmd.CommandText.Contains("count(*) from t2"))
.ReturnsTable(
MockTable.WithColumns("Count")
.AddRow(2));


Товарищу предлагаю накинуть звёзд
GitHub GitHub - Apps72/DbMocker: Data Mocker for C# DbConnection Data Mocker for C# DbConnection. Contribute to Apps72/DbMocker development by creating an account on GitHub.
  • 🔥 17
  • 👍 6
  • ❤ 2
More from @steponeit
  1. Sep 25, 2026Рассказал как я добавил в HydraScript объекты и методы без классов и сделал протоколы. Стр…
  2. Sep 22, 2026Post #858
  3. Sep 21, 2026Post #857
  4. Sep 15, 2026Напомню, что у меня есть WireMock.Grpc.Protobuf — расширение для тех, кто пишет компонентн…
  5. Sep 12, 2026StepOne — официальный контрибутор FusionCache 🤙 Между набросами можно ещё и код писать Fu…
  6. Sep 11, 2026Стояк работодателей 2026 🤫 Оказывается, год назад я предсказал выход Астры! И вместе с эт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →