Как мне поиздеваться над этим?

В приложении .NET для Windows у меня есть класс с именем EmployeeManager. При создании экземпляра этот класс загружает сотрудников в список из базы данных, которые не завершили регистрацию. Я хочу использовать EmployeeManager в модульном тесте. Однако я не хочу задействовать базу данных.

Насколько я понимаю в этом сценарии, мне нужен интерфейс IEmployeeManager, который используется только в целях тестирования. Это не кажется правильным, поскольку другого использования интерфейс не имеет. Однако это позволит мне создать тестовый класс EmployeeManager, который загружает сотрудников без привлечения базы данных. Таким образом, я могу присвоить значения, которые в противном случае поступили бы из базы данных.

Верно ли приведенное выше и нужно ли мне его имитировать? Mocking (фреймворк Moq), похоже, использует много кода, чтобы делать простые вещи, такие как присвоение свойства. Я не понимаю. Зачем издеваться, если я могу просто создать простой тестовый класс из IEmployeeManager, который предоставит то, что мне нужно?

13
задан 4thSpace 11 August 2011 в 18:03
поделиться