Open TokiNoviceProgrammer opened 5 months ago
import org.springframework.boot.test.mock.mockito.MockBean; import static org.mockito.Mockito.any; @SpringBootTest class SampleServiceTest { @Autowired private SampleService service; @MockBean private SampleDao sampleDao; @Test public void test() { // 準備 Sample sample = new Sample(); sample.setId(10); Optional<Sample> optionalSample = Optional.of(sample); Mockito.when(sampleDao.findByUserName(any())) .thenReturn(optionalSample); // テスト実行 int resultId = service.getSampleIdBySampleName("test Name"); // 検証 assertEquals(10, resultId); } }
sampleDaoのメソッド実行時に、どのような値を返すかを決めることが可能。 sampleDaoのfindByUserNameメソッド実行に引数に関わらず(any)、optionalSampleを返すという意味になる。 そのoptionalSampleのデータをMokitoの手前で作成している。