以下代码给出编译器错误: The method thenReturn(null) is undefined for the type FrequencySummary
在星号线上:
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.mockito.ArgumentMatchers.*;
import org.junit.jupiter.api.BeforeEach;
import edu.mills.cs180a.wordnik.client.api.WordApi;
public class SimpleTest {
private WordApi mockWordApi = mock(WordApi.class);
@BeforeEach
void setup() {
when(mockWordApi.getWordFrequency(anyString(), "true", anyInt(), anyInt())
.thenReturn(null); //***COMPILER ERROR ON THIS LINE
when(mockWordApi.getWordFrequency("apple", "false", 2000, 2001))
.thenReturn(null);
}
}
我知道mockito对带有通配符的方法给出了这个错误;但是 WordApi.getWordFrequency
是:
FrequencySummary getWordFrequency(@Param(value="word") String word, @Param(value="useCanonical") String useCanonical, @Param(value="startYear") Integer startYear, @Param(value="endYear") Integer endYear)
该方法的另一个版本具有参数化类型,但具有不同的参数计数且没有通配符:
FrequencySummary getWordFrequency(@Param(value="word") String word, @QueryMap(encoded=true) Map<String, Object> queryParams)
如您所见,方法声明中有注解。这个坏了吗 thenReturn()
?
班级 WordApi
是由Spring和虚张声势产生的。我正在使用Java15和Mockito3.6.0。
暂无答案!
目前还没有任何答案,快来回答吧!