问题可能在//does stuff
一部分。
这是一个返回值的步骤的工作测试:
在里面sayHello.groovy
我们定义了一个从 shell 获取标准输出并连接到它的步骤:
def call() {
def msg = sh (
returnStdout: true,
script: "echo Hello"
)
msg += " World"
return msg
}
在里面sayHelloSpec.groovy
我们编写单元测试并检查返回值:
import com.homeaway.devtools.jenkins.testing.JenkinsPipelineSpecification
public class sayHelloSpec extends JenkinsPipelineSpecification {
def "sayHello returns expected value" () {
def sayHello = null
setup:
sayHello = loadPipelineScriptForTest("vars/sayHello.groovy")
// Stub the sh step to return Hello
getPipelineMock("sh")(_) >> {
return "Hello"
}
when:
def msg = sayHello()
then:
msg == "Hello World"
}
}