[英]How to test method that uses Utility calls and need to return its input?
我有一個 Java 方法,看起來像這樣:
public Map<String <Set<Something>> mathod() {
Map<String, Set<Something>> originalMap = createMap();
return Utils.fixMap(originalMap);
}
我有一個 groovy/spock 測試,我需要測試該方法,我需要模擬 Utils 並使 fixMap() 返回其輸入。
最初,Utils 方法是一個服務,它被模擬成這樣:
UtilService mock = Mock(UtilService) {
fixMap(_ as Map) >> { Map input -> return input }
}
我不知道該怎么做。 請幫助,在此先感謝。
除非你的代碼在 Groovy 中,而它顯然不是,否則沒有辦法用 Spock 的內置 mocking 來做到這一點。
但是,您可以使用Mockito 來執行 static mocking 。
總的來說,我建議不要做任何類似的事情,因為它通常會指出實施方面的問題。 考慮重構您的代碼,以便Utils.fixMap
實際上被注入,然后可以輕松地模擬它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.