我目前正在评估ServiceStack(在.Net中创建基于休息的服务)。其中一个感兴趣的领域是测试方面。我的休息服务将注入许多应用服务(目前使用Autofac)。我需要的是一种机制来测试其余层并在我的应用层上定义期望(通过MOQ),所以我没有进行集成测试,而是单元测试这一层?
关于如何做到这一点的任何想法?
我目前正在评估ServiceStack(在.Net中创建基于休息的服务)。其中一个感兴趣的领域是测试方面。我的休息服务将注入许多应用服务(目前使用Autofac)。我需要的是一种机制来测试其余层并在我的应用层上定义期望(通过MOQ),所以我没有进行集成测试,而是单元测试这一层?
关于如何做到这一点的任何想法?
一个 ServiceStack服务 就像任何普通的C#Service类一样,可以像任何其他类一样以非常相同的方式进行模拟。 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"));
一个 ServiceStack服务 就像任何普通的C#Service类一样,可以像任何其他类一样以非常相同的方式进行模拟。 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"));