我正在模拟spock中的类,只是想检查被测试的方法内部的方法是否被调用,我不想让内部方法运行。模拟类函数被调用,而不是被嘲笑
class CalculationManager{
void processRequest(){
System.out.print("In process Request method") }
}
class CodeProcessor{
void processMessage(Request request){
CalculationManager calculationManager = new CalculationManager(request)
calculationManager.processRequest(request)
}
}
class Request{
int id
}
def "process code test"(){
given:
CodeProcessor codeProcessor = new CodeProcessor()
Request request = new Request()
request.setId(10)
CalculationManager calculationManager = Mock(CalculationManager)
when:
codeProcessor.processMessage(request)
then:
1 * calculationManager.processRequest()
}
在上面的例子中,我只需要检查encodeMessage是否被调用。但是当我运行上面的代码时,它将在encodeMessage()中运行代码。预计这种行为不可行。任何人都可以指出我要去的地方错在这里
请点击这里并没有双后http://forum.spockframework.org。 –