Служебный стек и Mocking, какие-нибудь учебники? - PullRequest
11 голосов
/ 06 марта 2012

В настоящее время я оцениваю ServiceStack (для создания служб на основе отдыха в .Net).Одной из областей интереса является сторона тестирования.В моем сервисе отдыха будет добавлено несколько сервисов приложений (в настоящее время используется Autofac).Мне нужен механизм для тестирования уровня отдыха и определения ожиданий на уровне моего приложения (через MOQ), так что я не делаю интеграционные тесты, а тестирую этот уровень модульно?

Есть идеи, как это сделать?

1 Ответ

12 голосов
/ 06 марта 2012

A ServiceStack Service подобен любому обычному классу обслуживания C # и может быть смоделирован точно так же, как и любой другой класс.Минимальная зависимость для ServiceStack Service реализует маркер интерфейса IService без зависимости, где любая служба просто принимает запрос DTO и возвращает любой объект.

Один из способов модульного тестирования сервисов ServiceStack - использование DirectServiceClient.как видно в этом примере , преимущество этого заключается в том, что он позволяет использовать тот же модульный тест, что и интеграционный тест - тестирование всех различных конечных точек XML, JSON, JSV и SOAP.

В противном случае вы можете выполнить модульное тестирование и макетировать его, как любой другой класс, например:

var service = new TestService {
   MyDependency = new Mock<IMyDependency>().Object
};
var response = service.Get(new Test { Id = 1 });
Assert.That(response.Result, Is.EqualTo("Hello, 1"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...