java如何对发送SOAP Web服务请求的代码进行单元测试?
我想为一些代码编写一个单元测试,生成带有附件的SOAP消息并发送:
SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
conn = factory.createConnection();
conn.call(message, endpoint);
工厂所在地为javax.xml.soap.SOAPConnectionFactory
我不在乎任何回复,但我希望能够验证发送的消息。代码将被重构,我希望确保它在之后发送与之前相同的消息
有没有一个框架可以用来创建一个模拟端点,让我在测试中分析请求?如果是这样,一些示例代码将非常有用
# 1 楼答案
使用JMock。JMock允许您测试行为,而不是状态更改。为此,需要封装SOAPCOnnectionFactory。不同对象中的newInstance()方法:
在代码中使用新类的对象
然后,在测试中,用模拟对象替换工厂,工厂将返回模拟连接。在模拟连接上设置期望值,以期待您正在寻找的呼叫