服务堆栈和模拟,任何教程?
我目前正在评估ServiceStack(在.Net中创建基于休息的服务)。 其中一个感兴趣的领域是测试方面。 我的休息服务将注入许多应用程序服务(目前使用Autofac)。 我需要的是一种机制来测试其余层并在我的应用层(通过MOQ)定义期望值,所以我没有进行集成测试,而是单元测试这个层?
任何想法如何做到这一点?
ServiceStack服务就像任何普通的C#服务类一样,可以像其他类一样以完全相同的方式进行模拟。 ServiceStack服务的最小依赖性是实现无依赖关系的IService
接口标记,以及任何服务只接受Request 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"));
链接地址: http://www.djcxy.com/p/20505.html