我是SoapUI and Groovy
的新手。尝试在SoapUI中执行以下简单的groovy脚本时:
log.info "hello"
sai s = new sai(log)
s.name = "baba"
s.pde()
class sai
{
def log
def name
public sai(log)
{
this.log=log
}
public void pde()
{
log.info "sai"+name
}
}
出现以下错误:
groovy.lang.MissingMethodException:没有方法签名:Script5.sai()适用于参数类型:(sai)值:[sai @ 1401158]可能的解决方案:wait(),wait(long),main([行中的Ljava.lang.String;),run(),run(),any()错误:3
请有人帮我解决这个问题。
答案 0 :(得分:0)
正如tim_yeates正确提到的那样,标准做法是使用 Captial letters 启动类名。
这是修改过的& groovified 脚本:
log.info 'hello'
//Just pass the data as map as show below
def s = new Sai(log:log, name: 'baba')
s.pde()
class Sai {
def log
def name
//Since we are passing data as map, you do not have to explicity define constructor in the class unless something specific, so removed constructor.
def pde() { log.info "sai $name" }
}
难道不是这么简单吗?
从您的脚本中解决问题:
你编写脚本的方式,它似乎一切都到位,或许,它无法区分,我想。
为了使其发挥作用:
更改以下行:
sai s = new sai(log)
收件人: def s = new sai(log)
而且你的脚本也适用于上述变化。
希望这有帮助。