when(candidateService.findById(1)).thenReturn(new Candidate());
この動作を任意の整数に拡張したい(必ずしも1ではない)
私が怒るなら
when(candidateService.findById( any(Integer.class) )).thenReturn(new Candidate());
コンパイルエラーがあります
タイプCandidateServiceのメソッドfindById(Integer)は、引数には適用できません(Matcher)
[〜#〜]更新[〜#〜]
インポート:
import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import Java.util.ArrayList;
import Java.util.HashSet;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
AnyInt()を試してください:
when(candidateService.findById(anyInt())).thenReturn(new Candidate());
たとえば、私のプロジェクトにはanyLong()があります。
when(dao.getAddress(anyLong())).thenReturn(Arrays.asList(dto));
編集:インポートする必要があります:
import static org.mockito.Matchers.anyInt;