TokiNoviceProgrammer / mrs-for-spring-boot

0 stars 0 forks source link

junit_モック化 #7

Open TokiNoviceProgrammer opened 5 months ago

TokiNoviceProgrammer commented 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);
    }
}
TokiNoviceProgrammer commented 5 months ago

sampleDaoのメソッド実行時に、どのような値を返すかを決めることが可能。 sampleDaoのfindByUserNameメソッド実行に引数に関わらず(any)、optionalSampleを返すという意味になる。 そのoptionalSampleのデータをMokitoの手前で作成している。