junit3 제어할수 없는 것에 의존하지 않기(테스트하기 좋은 코드) https://www.youtube.com/watch?v=DJCmvzhFVOI 위의 세미나를 유튜브로 시청한뒤 회사에서 마침 적용한 부분이 있어서 사례를 작성해 보려고 합니다. 1. 투표 기능 2. 외부 API 연동 1. 특정 날짜에 의존하지 않기 (투표 기능) 어느날 투표 기능을 할 수 있는 API를 추가해야 된다고 했을때 다음과 같은 요구 사항이 있다고 가정하겠습니다. 1. 해당 투표는 특정한 요일에만 정상 작동 되어야 한다. 그러면 다음과 같이 코드를 작성할 수 있습니다. 기존 코드 public class VoteService { public String vote() { LocalDateTime now = LocalDateTime.now(); if (now.getDayOfWeek() == DayOf.. Spring Boot 2023. 11. 5. [Junit5] junit-platform.properties 위와 같이 test/resources/ 밑의 파일을 만들어 주면된다. junit.jupiter.testinstance.lifecycle.default = per_class junit.jupiter.conditions.deactivate = org.junit.*DisabledCondition junit.jupiter.displayname.generator.default = \ org.junit.jupiter.api.DisplayNameGenerator$ReplaceUnderscores junit.jupiter.testinstance.lifecycle.default = per_class 인스턴스를 하나로 공유하겠다. junit.jupiter.conditions.deactivate = org.junit.*Di.. Spring Boot/JUnit5 2022. 7. 22. [JUnit5] Assumptions Assumptions Assumption 구문은 테스트 메서드가 특정한 조건에 대해서 실행하고자 할 때 사용하는 구문입니다. JUnit5에서는 org.junit.jupiter.api.assumptions 패키지의 내용물로 사용할 수 있습니다. assumeTrue 메서드는 파라미터의 값이 true일때 테스트를 계속 진행하겠다라는 의미입니다. 예를들어 특정한 OS, JAVA 버전, 환경변수에 따라 이러한 값에 따라 실행되어야한다. 실행되지 않아야 한다. 이런식으로 활용 할 수 있습니다. 저는 환경변수를 통해 테스트를 진행하였습니다. 이런식으로 환경변수를 하나 잡아줍니다. 그리고 인텔리제이를 껏다켜야합니다. 인텔리제이는 기본적으로 실행당시에 환경변수들을 읽어오기때문에 재부팅하지 않으면 인식하지 못할 수 도 있.. Spring Boot/JUnit5 2022. 7. 21. 이전 1 다음