문제점 @Import(HttpEncodingAutoConfiguration.class) @ExtendWith(RestDocumentationExtension.class) public abstract class RestDocsSupport { protected MockMvc mockMvc; protected ObjectMapper objectMapper = new ObjectMapper(); @BeforeEach void setUp(RestDocumentationContextProvider provider) { this.mockMvc = MockMvcBuilders.standaloneSetup(initController()) .addFilters(new CharacterEncodingFilter("UTF-..
전체 글
문제점 public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int boardNumber; private String title; private String content; /* fields getter builder constructor */ } 이렇게 되어 있었다.! CREATE TABLE board ( board_number integer GENERATED BY DEFAULT AS IDENTITY, comment_count integer, content varchar(255), created_at timestamp(6) NOT NULL, favorite_count integer, title varcha..
문제점 @DisplayName("게시글에 필요한 정보를 입력 후 등록을 하면 게시글이 저장된다.") @Test void createBoard() throws Exception { // given String title = "게시글제목"; String content = "게시글내용"; PostCreateRequestDto request = createPostRequest(title, content); // when & then mockMvc.perform(post("/api/v1/board") .content(objectMapper.writeValueAsString(request)) .contentType(MediaType.APPLICATION_JSON)) .andDo(print()) .andExpect(..
JAR이란? 자바는 여러 클래스와 리소스를 묶어 'JAR(Java Archive)'라고 하는 압축 파일을 만들 수 있다. 이 파일은 JVM 위에서 직접 실행되거나 또는 다른 곳에서 사용하는 라이브러리로 제공된다. 직접 실행하는 경우 main() 메서드가 필요하고, 'MANIFEST.MF' 파일에 실행할 메인 메서드가 있는 클래스를 지정해두어야 한다. war 파일을 말아서 압축을 푼 결과 -> META-INF, WEB-INF, index.html이 생긴 것을 볼 수 있다. war 파일 압출 해제 명령어: jar -xvf .\server-0.0.1-SNAPSHOT.war Jar는 클래스와 관련 리소스를 압축한 단순한 파일 필요한 경우 이 파일을 직접 실행할 수도 있고, 다른 곳에서 라이브러리로 사용할 수도 ..
문제점 컨트롤러를 @WebMvcTest로 진행하여 필요한 빈들만 등록한 후 나머지 연관관계가 있는 빈들은 Mock 가짜로 등록해주기로 하였다. @WebMvcTest(controllers = { AuthController.class }) public abstract class ControllerTestSupport { @Autowired protected MockMvc mockMvc; @Autowired protected ObjectMapper objectMapper; @MockBean protected AuthService authService; } Controller 테스트에 필요한 빈들을 추상 클래스로 분리하여 지정해두었다. class AuthControllerTest extends Controlle..
@ParameterizedTest @DisplayName("상품 타입이 재고 관련 타입인지를 체크한다.") @Test void containsStockType3() { // given ProductType givenType1 = HANDMADE; ProductType givenType2 = BOTTLE; ProductType givenType3 = BAKERY; // when boolean result1 = ProductType.containsStockType(givenType1); boolean result2 = ProductType.containsStockType(givenType2); boolean result3 = ProductType.containsStockType(givenType3); // ..