我正在开发一个使用 CookComputing XML-RPC.net 的应用程序
我的问题是如何对调用外部 rpc 方法的方法进行单元测试。
如果我们以网站上的例子为例:
//This is the XML rpc Proxy interface
[XmlRpcUrl("http://www.cookcomputing.com/xmlrpcsamples/RPC2.ashx")]
public interface IStateName : IXmlRpcProxy
{
[XmlRpcMethod("examples.getStateName")]
string GetStateName(int stateNumber);
}
public class MyStateNameService
{
public string GetStateName(int stateNumber)
{
IStateName proxy = XmlRpcProxyGen.Create<IStateName>();
return proxy.GetStateName(stateNumber);
}
}
我们如何在不实际访问 http://www.cookcomputing.com/xmlrpcsamples/RPC2.ashx的情况下有效地测试 IStateName 的结果
我想一个好的开始将是一个构造函数,MyStateNameService
它采用 IStateName,并在 IStateName 上传入一个假的(或模拟的?)实例......
我有兴趣测试它的实际内容 - 例如伪造来自端点的响应,并以某种方式返回它,而不仅仅是验证GetStateName
调用服务......
编辑
我不是想测试服务的内容 ,也不是我的课程用它做什么。
因此,例如,假设响应是:
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>My State Name</string></value>
</param>
</params>
</methodResponse>
我想“伪造”该响应一些如何测试MyStateNameService.GetStateName
实际返回的“我的州名”