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;
+	}
+}