Мне по работе понадобилось написать достаточно интересный SQL запрос c достаточно интересными расчетами. Запрос оказался размером со страницу A4, если его поместить в Word документ. Расчеты были достаточно сложными с большим количеством входных параметров.
Если писать подобное на C# или Java, то любой опытный программист скажет, что такой код нужно покрыть тестами. Я погуглил в поисках тестов баз данных и первые несколько запросов вернули мне платные решения или сне подходящие мне, поэтому я решил написать свою собственную небольшую утилиту для тестирования запросов к базам данных, которую можно скачать здесь: https://github.com/mflenov/.
Утилита написана на чистом .NET Core, поэтому она должна будет работать на любых системах, где будет работать .NET Core.
Если клонировать себе проект, то там увидите .xml файл с примером объявления теста.
Я набросал код за пару часов и в основном для своей задачи и там много чего еще нужно улучшать, нужна проверка на исключения (неверное подключение к базе данных или ошибка запроса), нужны более гибкие параметры тестов и можно еще много чего добавить. Если есть желание, то без проблем присоединяйся к проекту.
Чуть позже я напишу документацию по работе с XML файлом проекта и по свободе буду добавлять функции, хотя свободны мне в ближайшее время не видать. Но если есть у тебя желание что-то добавить, я не против.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
А это получился один запрос?
Может лучше было бы разбить его на несколько хранимок и сделать еще одну, которая бы использовала их все вместе? В Oracle db на храними как раз можно писать тесты.
Только что глянул гитхаб. Михаил, в мире Java я бы для подобной задачи использовал DB Unit.
https://dou.ua/lenta/articles/dbunit-basics/
Т.е. бы я написал обычный юнит тест, а db unit помог бы мне как раз подготовить бд к тесту, после выполнения запроса сделать assert того, что я хочу проверить и после этого либо очистить таблицу либо не трогать ее. Почему бы на C# не сделать что то подобное?
Просто как по мне то слишком много xml приходится написать для описания теста + CDATA так же в глаза бросается.
неплохо
1. Мне нужно было тестироваться именно вью, а не хранимку
2. На работе есть тесты, но они гонятся без подключения к базе данных. Там можно подключится, но вроде как не рекомендуют, вот я и решил написать
Здравствуйте Михаил. Не знаю куда написать. Читаю сейчас вашу книгу "Библия C#" в главе 13.9 Рисование элементов списка ListBox вы упоминаете что такое же рисование можно применить и на выпадающий список ComboBox и пишете что бы мы попробовали сами это сделать. Но дело в том что у меня не выходит сделать эту отрисовку. Ибо на обработчике comboBox1_DrawItem он перерисовывает айтем каждый раз при открытии выпадающего списка, и рамок не видно. А параметр DrawItemEventArgs есть вроде бы только у обработчика DrawItem.Еще вы упоминаете состояния элемента State,но нигде не показываете на примере как можно их использовать и этот момент немного не понятен.
email кинь мне с этим же вопросом через обратную связь здесь на сайте. Как будет свободная минута я посмотрю, что там
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.