junit5
-
Testcntainers 소개 및 설치백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 6. 5. 08:54
https://www.testcontainers.org/ Testcontainer란? 테스트에서 도커 컨테이너를 실행할 수 있는 라이브러리. 테스트 실행시 DB를 설정하거나 별도의 프로그램 또는 스크립트를 실행할 필요 없다. 보다 Production에 가까운 테스트를 만들 수 있다. 테스트가 느려진다. Testcontainer 설치 및 예시 Testcontainers JUnit5 지원 모듈 설치(기본) - Testcontainers와 Container 사용가능 org.testcontainers junit-jupiter 1.13.0 test @Testcontainers JUnit 5 확장팩으로 테스트 클래스에 @Container를 사용한 필드를 찾아서 컨테이너 라이프사이클 관련 메소드를 실행해준다. @Co..
-
Mock 객체 만들기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 26. 09:01
https://github.com/keesun/inflearn-the-java-test 위에 github 저장소에 들어가 history를 아래 순서와 같이 history가 쌓여 있다. 이중 Prepare Mockito example를 import를 받고 실행하면 아래와같이 import가 된다.(test부분은 삭제했음) 방법1. 아무것도 사용안할 시 테스트하는 방법 StudyService class를 테스트하기위해서는 아래와 같이 구현하여 테스트를 해야 한다. 하지만 아래와 같이 구현체를 직접 구현해서 사용해야하는 번거로움이 있다. import static org.junit.Assert.assertNotNull; import java.util.List; import java.util.Optional; im..
-
Junit5 조건에 따라 테스트 실행하기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 19. 13:09
특정한 조건, 특정한 환경변수, 값에 따라 실행하거나 안하거나 이런 조건에 따른 조건 assumeTrue(조건) org.junit.jupiter.api.Assumptions.*에 존재 True/false으로 나타내며 false일때 아래 테스트코드 동작을 안함 import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assumptions.assumeTrue; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public class StudyTest { @Test @DisplayName("스터디 만들기 \uD83..
-
Assertion백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 18. 00:08
Assertion 종류 assertEqulas(expected, actual) 실제 값이 기대한 값과 같은지 확인 assertNotNull(actual) 값이 null이 아닌지 확인 assertTrue(boolean) 다음 조건이 참(true)인지 확인 assertAll(executables...) 모든 확인 구문 확인 assertThrows(expectedType, executable) 예외 발생 확인 assertTimeout(duration, executable) 특정 시간 안에 실행이 완료되는지 확인 duration - 몇초만에 끝내야하는지 마지막 매개변수로 Supplier 타입의 인스턴스를 람다 형태로 제공할 수 있다. 복잡한 메시지 생성해야 하는 경우 사용하면 실패한 경우에만 해당 메시지를 만들..
-
테스트 이름 표시하기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 17. 22:20
@DisplayNameGeneration 이름을 정리하여 표시 @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) public class StudyTest { @Test void create_new_syudy() { Study study = new Study(); assertNotNull(study); } @Test void create_new_syudy_again() { System.out.println("create1"); } } @DisplayNameGeneration작성 전 @DisplayNameGeneration작성 후 _를 공백으로 치환 @DisplayName @DisplayNameGeneration(DisplayName..
-
JUnit 5 시작하기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 17. 22:10
스프링부트 프로젝트를 만들게 되면 자동으로 Junit 5의존성이 추가된다.(2.2+ 버전 이상사용시) 만약 스프링부트 프로젝트를 사용하지 않는다면 아래와같은 의존성을 추가해야 한다. org.junit.jupiter junit-jupiter-engine 5.5.2 test 기본 애노테이션 @Test 테스트 코드 @BeforeAll static을 사용해야함 해당 테스트들이 실행되기 전에 실행 Default 사용가능 void타입으로 작성해야함 @AfterAll ststic을 사용해야함 해당 테스트들이 실행된 후 실행 Default 사용가능 void타입으로 작성해야함 @BeforeEach 모든 테스트를 실행할때 각각의 실행 전에 호출 @AfterEach 모든 테스트를 실행할 때 각각의 실행 후에 호출 @Disa..
-
Junit5 소개백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 15. 12:52
JUnit 이란? 자바 개발자가 많이 사용하는 테스팅 프로임워크 https://www.jetbrains.com/lp/devecosystem-2019/java/ 자바 8이상을 사용해야함 대체제 : TestNG, Spock .. Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공. Jupiter: TestEngine API 구현체로 JUnit 5를 제공. Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.
-
Spring postgresql mybatis jdbc 기본 연결테스트Spring/Spring 기본 지식 2020. 3. 23. 10:51
기본 구조 Junit5 사용하여 연결 테스트 @ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/spring/PostgreSQL-context.xml"}) public class PostgreSQLConnectionTest { @Autowired private DataSource ds; @Test public void testConnection() throws Exception { try (Connection con = ds.getConnection()) { System.out.println("\nDBConnection 있냐? : " + con + "\n"); } catch (Exception e) { e.printStackTrace(); } ..