Я создал несколько небольших плавных интерфейсов с помощью цепочки методов. Обычно они вызывают несколько репозиториев, которые извлекают данные из веб-служб/баз данных.Как я могу выполнить единый тестовый код, использующий интерфейс Fluent?
Как я могу использовать методы модульного тестирования, которые используют свободный интерфейс?
Public IEnumberable<Computer> FindComputers(string serialNumber)
{
return Computers.FindBySerialNumber("YBCX00900")
.AttachConfiguration()
.EnsureAllComputersHaveConfiguration();
}
я могу модульное тестирование отдельных компонентов текучего интерфейса, но если я хочу модульное тестирование методы FindComputers выше, что я должен делать?
- Используйте конкретную реализацию беглого интерфейса, и писать ожидания в хранилище классов
- Mock сам беглый интерфейса и установить ожидания на этом
- Test только беглый интерфейс самого, а не FindComputers()
Я хотел бы найти легко ремонтный подход.
Спасибо, вы правы, пример плохо проработан, я с тех пор разбил FI на один для запроса и один выполнил операции с возвращаемыми данными. Я нашел, что проще всего провести тестирование FI отдельно, а затем использовать методы тестирования, которые используют FI с конкретной реализацией. Просто проверьте, возвращается ли желаемый результат. Попытка насмехаться над FI просто делает тесты слишком хрупкими. – Andronicus