Mercurial > hg > SpringPlayground
changeset 14:4594ff529ab1
Noch ein Test ganz ohne Spring hinzugefuegt.
author | Dirk Olmes <dirk.olmes@codedo.de> |
---|---|
date | Mon, 17 Aug 2020 14:39:26 +0200 |
parents | a633d0623278 |
children | ad77abd85976 |
files | spring-boot-playground/src/main/java/de/comline/spring/service/MovieService.java spring-boot-playground/src/test/java/de/comline/spring/service/MovieRepositoryTestWithoutSpring.java spring-boot-playground/src/test/java/de/comline/spring/service/MovieServiceTestWithMockRepo.java spring-boot-playground/src/test/java/de/comline/spring/service/RepositoryMocker.java |
diffstat | 4 files changed, 42 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/spring-boot-playground/src/main/java/de/comline/spring/service/MovieService.java Fri Aug 14 08:13:57 2020 +0200 +++ b/spring-boot-playground/src/main/java/de/comline/spring/service/MovieService.java Mon Aug 17 14:39:26 2020 +0200 @@ -11,7 +11,7 @@ @Service public class MovieService { @Autowired - private MovieRepository repository; + protected MovieRepository repository; @Transactional public Movie createMovie(String title) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spring-boot-playground/src/test/java/de/comline/spring/service/MovieRepositoryTestWithoutSpring.java Mon Aug 17 14:39:26 2020 +0200 @@ -0,0 +1,23 @@ +package de.comline.spring.service; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import de.comline.spring.entity.Movie; + +public class MovieRepositoryTestWithoutSpring { + @Test + @DisplayName("Test with hand-wired service and repository, without Spring") + public void serviceTestWithoutSpring() { + MovieService service = new MovieService(); + service.repository = RepositoryMocker.createMockRepository(); + + String title = "the-movie-title"; + + Movie movie = service.createMovie(title); + assertThat(movie.getTitle(), is(title)); + } +}
--- a/spring-boot-playground/src/test/java/de/comline/spring/service/MovieServiceTestWithMockRepo.java Fri Aug 14 08:13:57 2020 +0200 +++ b/spring-boot-playground/src/test/java/de/comline/spring/service/MovieServiceTestWithMockRepo.java Mon Aug 17 14:39:26 2020 +0200 @@ -2,9 +2,6 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; import static org.springframework.test.annotation.DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD; import org.junit.jupiter.api.DisplayName; @@ -41,11 +38,7 @@ static class TestConfig { @Bean MovieRepository createMockRepository() { - MovieRepository mockRepository = mock(MovieRepository.class); - when(mockRepository.save(any())).thenAnswer(invocation -> { - return invocation.getArgument(0); - }); - return mockRepository; + return RepositoryMocker.createMockRepository(); } } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spring-boot-playground/src/test/java/de/comline/spring/service/RepositoryMocker.java Mon Aug 17 14:39:26 2020 +0200 @@ -0,0 +1,17 @@ +package de.comline.spring.service; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import de.comline.spring.repository.MovieRepository; + +class RepositoryMocker { + public static MovieRepository createMockRepository() { + MovieRepository mockRepository = mock(MovieRepository.class); + when(mockRepository.save(any())).thenAnswer(invocation -> { + return invocation.getArgument(0); + }); + return mockRepository; + } +}