Я не уверен, что истинные модульные тесты должны строго взаимодействовать с внешними системами, такими как базы данных, но моя - идея, являющаяся моим кодом настройки, гарантирует, что БД находится в определенном состоянии, тогда мои модульные тесты ожидают определенных результатов от методов, которые вызываются; Мне нужно проверить, что код доступа к БД работает правильно.Совместное использование данных настройки базы данных между несколькими тестовыми классами модулей
Я хочу использовать те же данные теста БД в нескольких тестовых классах, а не копировать их в каждый класс '[TestInitialize]
, и мне интересно, как это сделать лучше всего. Варианты, кажется, включают в себя:
- Бросьте все это во внешнем .sql сценарии и запустить этот
- Какая-то вспомогательный класс со статическим методом
Я предпочел бы код для обновления БД является частью моего кода на C#, но задавался вопросом, есть ли более типичный способ, которым могут справиться проекты MSTest?
ссылка на внешние системы - плохая идея. Я предпочитаю создать слой между уровнем доступа к данным и вашим бизнес-слоем. Например, есть интерфейс с методами и свойствами доступа к данным. и это можно проверить. –
Наверное, я согласен, но вот как это устроено. Назовите это другим типом теста, если это сделает вас счастливее :) Интеграция? –
Нужно ли сбросить Db для каждого теста или использовать его как все тесты. – Nkosi