【发布时间】:2012-11-10 22:50:59
【问题描述】:
您好, 我想编写一个单元测试来确保我们的 Web 服务没有从最后一个已知的发布版本更改 WSDL。这样做的原因是因为对 WSDL 中的对象的任何更改都会导致使用 Apache Axis 的客户端失败。即使您所做的只是添加一个不需要的属性。因此,如果有更改,则需要通知开发人员,因为产品管理需要与客户就更改进行沟通,以便他们准备好在新的 WSDL 发布时重新编译他们的存根。
所以我希望有这样的东西:
[Test]
public void TheWSDLHasNotChanged(){
XmlDocument currentWSDL = SomeMysteryServiceIDontKnowAbout.GetWSDLForWebServiceClass(typeof(UserService));
XmlDocument existingWSDL = new XmlDocument().Load("ExistingWsdl.wsdl");
Assert.That(currentWSDL, Is.Equal.To(existingWSDL));
}
出于显而易见的原因,我不想向 Web 服务器发出请求(在运行单元测试时它可能正在运行,也可能不运行)。
【问题讨论】:
标签: c# unit-testing web-services wsdl