我有以下Groovy脚本:
TheScript.groovy
package groovy
def sayHi = "hi"
它的测试规范。 注意: 这只是一个理论而不是我认真的方法。只是想告诉你我想要实现的目标。
TheScriptSpec
import spock.lang.Specification
import spock.lang.Unroll
import groovy.TheScript // what to do instead?
class TheScriptTest extends Specification {
def "Test One"() {
expect:
sayHi() == "hi" // sayHi() does not exist - how to call the field?
}
}
抛出的错误告诉我肯定没有为 TheScriptTest.sayHi()定义任何内容 - 这很好。我理解错误
答案 0 :(得分:0)
看起来您的问题是您在脚本中定义了一个变量" def sayHi"然后在你的测试中你称它为一种方法。
def sayHi(){ return "hi" }
注意:我相信'返回'在groovy中没有必要。
答案 1 :(得分:0)
您需要创建脚本sayHi.groovy
package groovy
//
def call() {
return "hi"
}
在Groovy中,我们可以为脚本添加一个名为call的方法,然后在不使用name调用的情况下调用该方法。我们只需在对象实例上键入括号和可选参数即可。 Groovy称之为调用操作符:()
import spock.lang.Specification
import spock.lang.Unroll
import groovy.TheScript
class TheScriptTest extends Specification {
def "Test One"() {
expect:
sayHi() == "hi"
}
}