我正在开发一个新的MVC 5应用程序。 我在项目中有一个集成层,其中我有一个对外部Web服务的服务引用。
然后,我创建了一个接口,其中包含一些方法 - 然后我有一个服务类,类似于下面的代码:
public class MyService : IMyService
{
private readonly ExternalServiceClient _serviceClient;
public MyService()
{
_serviceClient = new ExternalServiceClient ("WSHttpBinding_IMyService");
}
public string GetName(Coordinate[] coordinates)
{
string name = string.Empty;
name = _serviceClient.GetInformationsForCoordinates(coordinates);
return name;
}
请注意,这是简化版的内容,实际上将添加try catch块和异常处理等。
我有一个Integration.Tests项目,用于集成层的单元测试。测试GetName方法的最佳实践方法是什么?我应该在Tests项目中向服务端点添加另一个Service Reference,还是如果我们使用Moq,我可以创建一个实际服务的实例,例如Web层将调用它 - 那该怎么做呢?