Skip to content

Commit 2a5e48b

Browse files
committed
GP-66 replace @SpringBootTest with @WebMvcTest
1 parent 219324f commit 2a5e48b

File tree

2 files changed

+10
-19
lines changed

2 files changed

+10
-19
lines changed

3-0-spring-framework/3-0-1-hello-spring-mvc/src/test/java/com/bobocode/mvc/api/NoteRestControllerTest.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.bobocode.mvc.api;
22

3-
import com.bobocode.mvc.HelloSpringMvcApp;
4-
import com.bobocode.mvc.api.NoteRestController;
5-
import com.bobocode.mvc.controller.NoteController;
63
import com.bobocode.mvc.data.Notes;
74
import com.bobocode.mvc.model.Note;
85
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -12,8 +9,7 @@
129
import org.junit.jupiter.api.Test;
1310
import org.junit.jupiter.api.TestMethodOrder;
1411
import org.springframework.beans.factory.annotation.Autowired;
15-
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
16-
import org.springframework.boot.test.context.SpringBootTest;
12+
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
1713
import org.springframework.boot.test.mock.mockito.MockBean;
1814
import org.springframework.http.MediaType;
1915
import org.springframework.test.web.servlet.MockMvc;
@@ -32,8 +28,7 @@
3228
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
3329
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
3430

35-
@AutoConfigureMockMvc
36-
@SpringBootTest(classes = HelloSpringMvcApp.class)
31+
@WebMvcTest
3732
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
3833
class NoteRestControllerTest {
3934

@@ -43,9 +38,6 @@ class NoteRestControllerTest {
4338
@Autowired
4439
private MockMvc mockMvc;
4540

46-
@Autowired
47-
private NoteRestController controller;
48-
4941
@Order(1)
5042
@Test
5143
void classIsMarkedAsRestController() {
@@ -93,6 +85,7 @@ void getNotesMethodHasNoParameters() {
9385
@Test
9486
@SneakyThrows
9587
void getNotesMethodReturnsNoteList() {
88+
var controller = new NoteRestController(notes);
9689
var noteList = givenNoteList();
9790
var getNotesMethod = Arrays.stream(NoteRestController.class.getDeclaredMethods())
9891
.filter(
@@ -199,6 +192,7 @@ void addNoteMethodReturnsVoid() {
199192
@SneakyThrows
200193
void addNotePassPostedNote() {
201194
var note = new Note("Test", "Hello, World!");
195+
var controller = new NoteRestController(notes);
202196
var addNoteMethod = Arrays.stream(NoteRestController.class.getDeclaredMethods())
203197
.filter(
204198
method -> Arrays.stream(method.getDeclaredAnnotations())

3-0-spring-framework/3-0-1-hello-spring-mvc/src/test/java/com/bobocode/mvc/controller/NoteControllerTest.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.bobocode.mvc.controller;
22

3-
import com.bobocode.mvc.HelloSpringMvcApp;
4-
import com.bobocode.mvc.controller.NoteController;
53
import com.bobocode.mvc.data.Notes;
64
import com.bobocode.mvc.model.Note;
75
import lombok.SneakyThrows;
@@ -10,8 +8,7 @@
108
import org.junit.jupiter.api.Test;
119
import org.junit.jupiter.api.TestMethodOrder;
1210
import org.springframework.beans.factory.annotation.Autowired;
13-
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
14-
import org.springframework.boot.test.context.SpringBootTest;
11+
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
1512
import org.springframework.boot.test.mock.mockito.MockBean;
1613
import org.springframework.stereotype.Controller;
1714
import org.springframework.test.web.servlet.MockMvc;
@@ -34,16 +31,12 @@
3431
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
3532
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
3633

37-
@AutoConfigureMockMvc
38-
@SpringBootTest(classes = HelloSpringMvcApp.class)
34+
@WebMvcTest
3935
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
4036
class NoteControllerTest {
4137
@MockBean
4238
private Notes notes;
4339

44-
@Autowired
45-
private NoteController controller;
46-
4740
@Autowired
4841
private MockMvc mockMvc;
4942

@@ -95,6 +88,7 @@ void getNotesMethodAcceptsModelAsParameter() {
9588
@Test
9689
@SneakyThrows
9790
void getNotesMethodReturnNotesViewName() {
91+
var controller = new NoteController(notes);
9892
var getNotesMethod = Arrays.stream(controller.getClass().getDeclaredMethods())
9993
.filter(
10094
method -> Arrays.stream(method.getDeclaredAnnotations())
@@ -114,6 +108,7 @@ void getNotesMethodReturnNotesViewName() {
114108
void getNotesMethodAddsNoteListToTheModel() {
115109
var noteList = givenNoteList();
116110
var model = new BindingAwareModelMap();
111+
var controller = new NoteController(notes);
117112
var getNotesMethod = Arrays.stream(controller.getClass().getDeclaredMethods())
118113
.filter(
119114
method -> Arrays.stream(method.getDeclaredAnnotations())
@@ -171,6 +166,7 @@ void addNoteMethodAcceptsNewNoteAsParameter() {
171166
@Test
172167
@SneakyThrows
173168
void addNoteMethodReturnsRedirectToNotes() {
169+
var controller = new NoteController(notes);
174170
var addNoteMethod = Arrays.stream(NoteController.class.getDeclaredMethods())
175171
.filter(
176172
method -> Arrays.stream(method.getDeclaredAnnotations())
@@ -190,6 +186,7 @@ void addNoteMethodReturnsRedirectToNotes() {
190186
@SneakyThrows
191187
void addNotePassPostedNote() {
192188
var note = new Note("Test", "Hello, World!");
189+
var controller = new NoteController(notes);
193190
var addNoteMethod = Arrays.stream(NoteController.class.getDeclaredMethods())
194191
.filter(
195192
method -> Arrays.stream(method.getDeclaredAnnotations())

0 commit comments

Comments
 (0)