Я начинаю внедрять формальное модульное тестирование в нашей компании, так как у нас есть проект, который становится все больше и больше, и в этом проекте мне поможет другой парень.Поэтому я должен быть уверен, что то, что он делает, не разбивает все и наоборот.
Я бы тоже хотел представить сервер CI, но это будет темой других вопросов.Теперь вопрос: я сейчас читаю «Искусство модульного тестирования» (это рекомендуемый шедевр!), И автор подчеркивает, что модульное тестирование отличается от интеграционного тестирования.Это ясно для меня, и, если я правильно понял, модульное тестирование Business Logic не должно зависеть от соединений с базой данных и так далее.Прежде всего: я прав?
Итак, предположим, что я прав (то есть, когда я тестирую свой BLL, я должен заглушить базу данных), как я это сделаю?Я читал, что есть некоторые рамки для дб издевательства.Должен ли я использовать один из них?Что вы используете?
Следующий вопрос: вы действительно думаете, что это правильный способ сделать?Я имею в виду: в моем проекте BL взаимодействует с базой данных через Entity Framework.Так, например, когда вызывается метод «UpdateItem» в моем BLL, он что-то делает, а затем сохраняет ObjectContext.Этот ObjectContext является зависимостью Entity Framework, которую мне нужно удалить в моем BL.Но что я должен проверить в таком методе?Я действительно не могу понять модульное тестирование слоя BL без совместного тестирования DAL ... Можете привести пример?
Большое спасибо за ваши усилия!
Марко