Spock 仕様で SearchableService をモックしています。
// In SearchControllerSpec:
def sControl = mockFor(SearchableService)
sControl.demand.suggestQuery { Map m -> 'suggested query string' }
controller.searchableService = sControl.createMock()
テスト中のコード スニペットは次のようになります。
// In SearchController:
qSuggestion = searchableService.suggestQuery( query , allowSame:false)
// FAILS:
assert qSuggestion == 'suggested query string'
highlightedSuggestion = StringQueryUtils.highlightTermDiffs(query, qSuggestion)
アサーションは失敗します-明らかqSuggestion
に、定義された文字列ではなくクロージャを保持しているという事実が原因です。
最後のステートメントは、highlightTermDiffs が (String, String) を想定しているため失敗しますが、(String, Closure) を取得しています。
ここで何が問題なのですか?エラーを修正するにはどうすればよいですか?