groovy.lang.MissingMethodException:没有方法签名:Script5.sai()可能的解决方案:wait(),行错误:3

时间:2016-06-24 21:12:08

标签: groovy soapui

我是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

请有人帮我解决这个问题。

1 个答案:

答案 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" }
}

难道不是这么简单吗?

enter image description here

从您的脚本中解决问题:

你编写脚本的方式,它似乎一切都到位,或许,它无法区分,我想。

为了使其发挥作用:

更改以下行: sai s = new sai(log)

收件人: def s = new sai(log)
而且你的脚本也适用于上述变化。

希望这有帮助。