arrow_upward
본문 바로가기

전체 글28

[Spring Boot] @SpringBootTest, @WebMvcTest를 사용한 테스트 이번 포스팅에서는 @SpringBootTest 애노테이션을 활용한 통합 테스트와 @WebMvcTest를 사용해서 컨트롤러 계층에 집중한 테스트 이 두 가지 스프링부트 테스트를 진행할 것이다. 우선 예제에 사용할 코드를 설정한다.  Product.java@NoArgsConstructor(access = AccessLevel.PROTECTED)@Getter@Entitypublic class Product extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_id") private Long id; private String name; private in.. 2024. 4. 24.
테스트 코드 작성의 필요성 테스트 코드에 얘기하기 전에 우선 TDD라는 용어는 다들 들어봤을 것이다. TDD에 대해서 가볍게 설명한다. TDD(Test Driven Development)란 테스트 방법론중 하나로 애플리케이션 코드보다 테스트 코드를 먼저 작성해서 테스트가 구현 과정을 주도하는 것이다.  TDD의 주기Red: 실패하는 테스트를 작성한다.Green: 테스트에 성공하는 코드를 구현한다.Refactor: 구현 코드를 리팩토링(중복 제거)한다.TDD를 할 때 연산의 구현할지 확신이 들면 바로 정확한 구현을 해도 된다.테스트를 할 때 우리에게 중요한 것은 작동하는 깔끔한 코드를 얻는 것이다. 이를 해결하기 위해서 나누어서 정복하자.‘작동하는 깔끔한 코드’를 얻어야 한다면, ‘작동하는’ 부분을 먼저 해.. 2024. 4. 21.
[PostgreSQL] Invalid Transaction Termination 에러 PostgreSQL의 프로시저로 트랜잭션을 처리하다가 Invalid Transaction Termination 예외가 발생했다.  ProcedureCREATE TABLE custom ( cno bigserial, title varchar(20) NOT NULL, message varchar(200), hit INTEGER, CONSTRAINT c_pk PRIMARY KEY (cno));CREATE OR REPLACE PROCEDURE p_ex( IN v_title VARCHAR(100), IN v_message VARCHAR(200), IN v_hit integer, OUT v_code integer)LANGUAGE pl.. 2024. 4. 18.
[Gradle] build.gradle과 동작 원리 Gradle은 오픈 소스 빌드 자동화 도구로 Groovy나 Kotlin DSL(Domain-Specific Language)을 사용해서 작성된다.자바, C/C++, 파이썬 등 다양한 언어를 지원하며, 강력한 의존성 관리 및 빌드 스크립트를 통해서 프로젝트의 빌드 과정 및 설정을 세밀하게 제어할 수 있다.build.gradlebuild.gradle 파일은 프로젝트의 빌드 구성을 정의하고, 프로젝트가 어떻게 빌드될 것이며 어떤 종속성이 필요한지 설정하는 스크립트다. Gradle Task는 이 스크립트의 메서드들을 빌드 시에 실행시킨다.이 파일은 Project 인터페이스의 구현체로 Project 인터페이스는 Gradle과 상호작용하기 위한 다양한 API를 제공한다.build.gradle에서 사용되는.. 2024. 4. 18.