gpt4 book ai didi

web-services - Grails Service Spock测试无法找到文件

转载 作者:行者123 更新时间:2023-12-02 15:19:19 26 4
gpt4 key购买 nike

因此,我有了Grails 3.2.3应用程序,并且在其中一项服务中,我正在加载位于项目文件夹根目录中的WSDL,以便与SOAPClient一起使用,如下所示:

def wsdl = "soap.wsdl"

SOAPClient soapClient

@PostConstruct
void init() {
soapClient = new SOAPClient(wsdl)
}

我的Spock测试使用 @MockFor(MyService)进行了注释,Ive检查了该测试能否很好地运行init方法。

现在,当应用程序运行时,这可以很好地创建SOAPClient,但是当尝试编写Spock测试时, new SOAPClient(wsdl)返回null。我猜这是因为运行Spock测试时,wsdl在类路径中不正确,但是我还没有找到解决此问题的方法。有什么想法吗?

最佳答案

如果是我,我将使用metat_code的构造函数metaClass返回SOAPClient的模拟。像这样:SOAPClient

def 'test something'(){
setup:
def soapClientMock = Mock(SOAPClient)
SOAPClient.metaclass.constructor = {String filename ->
assert filename == "soap.wsdl"
return soapClientMock
}
}

关于web-services - Grails Service Spock测试无法找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40985992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com