【发布时间】:2014-02-17 01:31:26
【问题描述】:
def client = new SOAPClient("http://...")
def response = client.send(
"""<?xml version='1.0' encoding='UTF-8'?>
<soap-env:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<soap-env:Body>
<GetFoo>bar</GetFoo>
</soap-env:Body>
</soap-env:Envelope>"""
)
return response.xmlElement1.xmlElement2.xmlElement3.text()
这是我项目中的一段服务代码。 def response 是一个名为 HTTPResponse 的 WsLite 库对象。
在我的单元测试中,我想将此响应模拟为这段代码的一部分:
def mockClient = Mock(SOAPClient)
mockClient.send(XML_REQUEST) >> createMockResponse()
我不太确定我应该如何模拟这个响应对象并填充一些预期值。
例如,response.xmlElement1.xmlElement2.xmlElement3.text() 的模拟响应是“ABC”。
【问题讨论】:
标签: unit-testing grails groovy mocking