У меня есть тестовый файл, в котором я заглушаю зависимости (в основном репозитории) моего тестируемого класса.Пример заглушки хранилища (сокращено примерно на 200 строк):
internal class doerRepository : IDoerRepository
{
public IQueryable<Doer> ActiveDoers
{
get
{
Account account = new Account();
//Property setting for account
Zone zone = new Zone();
//Property setting for zone
Doer doer = new Doer();
doer.Zone = doerZone;
doer.Account = doerAccount;
var list = new List<Doer>();
list.Add(doer);
return list.AsQueryable();
}
}
}
И метод теста выглядит следующим образом:
[Test]
public void IsValidDoer_DoerIsValid()
{
var doerValidation = new DoerValidation(new doerRepository());
//Assert things
}
Проблема в том, что этоокружающая среда сущности (заглушает около половины базы данных) - моя базовая линия.У меня есть около 25 тестов для этого файла теста.Для каждого теста мне нужно немного изменить заглушку (попробуйте указать неверную зону, неверную учетную запись и т. Д.).Я заканчиваю копирование, вставляя 200 строк, чтобы изменить одну маленькую вещь (и я должен переименовать класс поверх этого).
Можно ли повторно использовать код заглушки и просто внести соответствующие изменения?Я пробовал это, но значение, которое я изменяю, не обновляется
internal class doerRepository2 : IDoerRepository
{
public IQueryable<Doer> ActiveDoers
{
get
{ List<Doer> list = new doerRepository().ActiveDoers.ToList();
list.First().Account = new Account();
return list.AsQueryable();
}
}
}