# Junit4
테스트 케이스 (Junit4/Junit5)
@RunWith(SpringRunner.class) Junit 실행 시에 스프링 엮어서 실행 @SpringBootTest 스프링부트와 같이 테스트 - 없을 경우 @Autowired 실패 @Transactional 테스트 케이스에서 실행 시 실행 후 롤백 (데이터 반영 X) Junit5 - expected 지원 x / @RunWith(SpringRunner.class) 생략 가능 Junit4 - expected 지원 o / @RunWith(SpringRunner.class) 작성 필요

JPA Multiple DataSource 설정 방법
기본적인 멀티 데이터 베이스 설정 부터 간단한 접속 테스트까지의 과정을 정리해 봅니다. 필자는 Oracle+Mysql 환경으로 진행하였으며, 다른 DB 를 사용하시는 분들은 그에 맞게 datasource 를 변경해 주면 되겠습니다. 1. 개발환경 SpringBoot 2.7.6 JDK 1.8 Oracle+Mysql Log4Jdbc junit4 2. build.gradle 3. application.yml jpa 설정은 다양한 케이스가 존재하므로 각자에 맞는 설정값을 찾아보도록 하자. datasource 명으로 각각의 db를 구분하도록 한다. 4. Entity Datasource 별로 별도의 패키지를 생성하도록 하자 mysql-datasource User.java oracle-datasource Company.java 5. Repository **mysql-datasourc

인텔리제이 테스트 한글 깨짐 해결, 폰트 크기 조절
인텔리제이를 재설치하고나니 테스트코드에서 작성한 한글이 깨지는 현상이 발생했다. 인텔리제이 한글 깨짐 해결법! 위와 같은 현상이 발생했다. Shift를 두번 눌러 edit custom vm options 를 입력하고 클릭한다. -Dfile.encoding=UTF-8 를 추가한다. 재시작 한다. 
JUnit4 설정 및 사용
JUnit 설정 pom.xml 에서 junit 기입 후 꼭 Reload 해야함! 클래스 Junit 설정 테스트할 클래스 우클릭 후 아래 그림과 같이 Test 클릭 OK 클릭 테스트 클래스에 @RunWith, @ContextConfiguration 사용

[Compose] UI Test
💡개요 협업하는 개발자들 끼리 서로의 코드를 다 살펴볼 순 없습니다. 특히, 각자 개발한 UI에 대해 한눈에 알아보는 것은 더욱 힘든 일입니다. UI Test를 작성하는 것 만으로도 이것이 어떻게 작동하는지 유추가 가능하게 되고, 이것은 일종의 문서 역할을 하게 됩니다. > 프로젝트 덕키(Duckie)는 독립적인 디자인 시스템(Quack-Quack)을 가지고 있습니다. 덕키의 거의 모든 컴포넌트는 디자인 시스템의 컴포넌트로 이루어질 것이므로 중요성은 이루 말할 수가 없습니다. 따라서 UI Test를 통해 UI가 올바르게 작동하는지 검증하고, 안정성을 검증하는 과정을 필수로 거치게 되었습니다. https://github.com/sungbinland/duckie-quack-quack

Junit4 vs Junit5
Junit을 활용하여 단위테스트를 작성하는 책을 보고 공부하는 중인데, 책에서 Junit4 사용하여 예시를 들어서 설명하고 있길래 이참에 4와 5의 차이에 대한 정리를 하면 좋겠다싶어 , 작성하게 되었다. JUnit? 단위 테스트를 지원하는 테스팅 프레임워크 정확히 말하면 java언어를 지원하는 프레임워크가 Junit이고, 이런 테스팅 프레임워크를 통칭하여 xUnit이라고 함. 지원하는 Java Version JUnit4 -> Java5이상 JUnit5 -> Java8이상 구성 JUnit4 All in One JUnit5 JUnit Platfrom JUnit Jupiter JUnit Vintage 변경 어노테이션 JUtin5

Junit5 사용하기
기존 프로젝트에서는 단위테스트를 위해 Junit4를 사용중이였다. 새 프로젝트를 진행하면서, spring boot 2.5로 버전업 하게되었고 자연스레 Junit5를 접해볼 수있는 기회가 되었다. 그래서 시작전 기본적으로 알아야 할것들을 기록하려한다. 목표 > TDD 가볍게 짚고 넘어가기 Junit이란 Junit5 vs Junit4 Junit5 기본문법 TDD란? TDD(Test Driven Development)란 개발자라면 너무나도 많이 들어봤을 말이다. '테스트 주도 설계'라고 하여 테스트를 먼저 만들고 테스트를 통과하기 위해 코드를 짜며 실제 서비스 될 코드를 작성하는 개발 방법론중 하나이다. 장점은 **객체지향적인 코드를 개발 할 수

@SpringBootTest
이번 장에서는 프로그램의 무결성을 보장하고 코드 품질을 향상시키는데 중요한 테스트 코드 관련 어노테이션을 알아 보고자 한다. 스프링 부트에서는 기본적인 테스트 스타터를 제공한다 각종 테스트를 위한 어노테이션 기반 기능을 제공하여 특정 주제에 맞게 테스트를 구현하고 관리할 수 있다. > spring-boot-starter-test 아래에서 다양한 어노테이션을 알아 보도록 하자. @SpringBootTest 통합 테스트를 제공하는 기본적인 스프링 부트 테스트 어노테이션. 애플리케이션이 실행될 때의 설정을 임의로 바꾸어 테스트를 진행, 여러 단위 테스트를 하나의 통합된 테스트로 수행할 때 적합 장점 애플리케이션의 설정, 모든 Bean을 모두 로드하기 때문에 운영환경과 가장 유사한 테스트가 가능 전체적인 플로우를 쉽게 테스트 가능 단점 애플리케이션에 설정된 빈을 모두 로드하기 때문에 애플리케이션 규모가 클수록