我正在模擬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。 –