Apply AutoMock library

This commit is contained in:
MangKyu
2022-05-27 17:27:51 +09:00
parent 4270f1e434
commit 97f2420c9b
6 changed files with 15 additions and 35 deletions

View File

@@ -34,10 +34,10 @@ dependencies {
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'com.h2database:h2'
implementation 'org.springframework.boot:spring-boot-starter-mail:2.5.6'
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
testImplementation 'io.github.mangkyu:spring-boot-test-automock:0.0.4'
// https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
implementation group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'

View File

@@ -10,27 +10,25 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(AnswerController.class)
@WebMvcTest
class AnswerControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
@Autowired
private AnswerService answerService;
@Test
@@ -53,13 +51,10 @@ class AnswerControllerTest {
);
// then
final ResultActions resultActions = result.andExpect(status().isOk());
final String stringResponse = resultActions.andReturn().getResponse().getContentAsString(StandardCharsets.UTF_8);
final GetAnswerResponse getAnswerResult = new Gson().fromJson(stringResponse, GetAnswerResponse.class);
assertThat(getAnswerResult.getResourceId()).isEqualTo(getAnswerResponse.getResourceId());
assertThat(getAnswerResult.getDescription()).isEqualTo(getAnswerResponse.getDescription());
assertThat(getAnswerResult.getCreatedAt()).isEqualTo(getAnswerResponse.getCreatedAt());
result.andExpect(status().isOk())
.andExpect(jsonPath("resourceId").value(getAnswerResponse.getResourceId()))
.andExpect(jsonPath("quizResourceId").value(getAnswerResponse.getQuizResourceId()))
.andExpect(jsonPath("description").value(getAnswerResponse.getDescription()));
}
@ParameterizedTest

View File

@@ -2,14 +2,12 @@ package com.mangkyu.employment.interview.app.enums.controller;
import com.google.gson.Gson;
import com.mangkyu.employment.interview.config.enums.EnumMapperConfig;
import com.mangkyu.employment.interview.enums.factory.EnumMapperFactory;
import com.mangkyu.employment.interview.enums.value.QuizCategory;
import com.mangkyu.employment.interview.enums.value.QuizDay;
import com.mangkyu.employment.interview.enums.value.QuizLevel;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.context.annotation.Import;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
@@ -21,13 +19,10 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(EnumsController.class)
@WebMvcTest
@Import(EnumMapperConfig.class)
class EnumsControllerTest {
@SpyBean
private EnumMapperFactory enumMapperFactory;
@Autowired
private MockMvc mockMvc;

View File

@@ -1,25 +1,17 @@
package com.mangkyu.employment.interview.app.file.controller;
import com.google.gson.Gson;
import com.mangkyu.employment.interview.app.enums.controller.EnumsController;
import com.mangkyu.employment.interview.app.file.dto.FileUploadResponse;
import com.mangkyu.employment.interview.app.file.service.FileService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
@@ -29,13 +21,13 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(FileController.class)
@WebMvcTest
class FileControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
@Autowired
private FileService fileService;
@Test

View File

@@ -9,7 +9,6 @@ import com.mangkyu.employment.interview.enums.value.QuizLevel;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
@@ -20,10 +19,10 @@ import java.util.Set;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(MemberController.class)
@WebMvcTest
class MemberControllerTest {
@MockBean
@Autowired
private MemberService memberService;
@Autowired

View File

@@ -15,7 +15,6 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -34,13 +33,13 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(QuizController.class)
@WebMvcTest
class QuizControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
@Autowired
private QuizService quizService;
@Test