본문 바로가기

Java

[TestCode] assume 조건에 따라 테스트 실행 (JUnit5) assumeTrue : 조건 - 조건을 정해주고 해당조건에 적합한지 체크한다. @Test @DisplayName("조건에 맞춰 실행") void assume_ex() { Lunch lunch = new Lunch(); String test_env = "LOCAL"; assumeTrue("LOCAL".equals(test_env)); assertTrue(lunch.getLunch("test").equals("Complete"), () -> "실패시 메시지"); } - 현재 테스트 하는 환경을 예로 들어 LOCAL환경인지 개발환경인지 실서버 환경인지 여부를 체크하여 다음에 실행될 테스트 코드를 실행할지 여부를 정할 수 있다. 만일 위 코드에서 LOCAL 환경이 아니라면 다음 테스트는 실행되지 않을것이다. -.. 더보기
[TestCode] assertion 기대값, 참 거짓 확인 (JUnit5) aseertEquals : 실제 값이 기대한 값과 같은지 확인 - 특정 기능을 실행했을경우 반환되는 값이 기대하는 값과 일치하는지 확인할 수 있는 메서드 이다. @Test @DisplayName("점심추천 만들기") void create_lunch() { Lunch lunch = new Lunch(); assertNotNull(lunch); // lunch 가 null이 아닌지 체크 assertEquals("Complete", lunch.getLunch(), "점심 만들기 성공시 Complete 여야한다."); // getLunch라는 메서드 실행시 Complete 가 반환되는지 체크 } - 위와같이 활용할 수 있으며, aseertEquals 사용시에 기대값, 실행함수 두 매개변수 위치가 서로 바뀌어도 .. 더보기
[TestCode] @DisplayName 테스트 이름표시법 (JUnit5) 기본표기 : 실행되는 메서드의 명칭이 출력됨 @MockMvcTest public class HomeControllerTest { @Autowired private MockMvc mockMvc; @Test public void home_view() throws Exception{ mockMvc.perform(get("/")) .andDo(print()) .andExpect(status().isOk()) .andExpect(view().name("index.html")); } } - 보통 위처럼 메서드는 가독성을 위해서 언더스코어 규칙에 따라 주로 작성한다 @DisplayNameGeneration : 언더스코어를 공백으로 치환시켜 출력시켜줌 @MockMvcTest @DisplayNameGeneration(D.. 더보기
[Programmers] 로또의 최고 순위와 최저순위 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다.. 더보기
[LeetCode] Running Sum of 1d Array class Solution { public int[] runningSum(int[] nums) { int[] answer = new int[nums.length]; int sum = 0; for(int i=0; i 더보기
[Programmers] Level2. 다리를 지나는 트럭 (Java) Queue의 개념을 알고있어야 풀이가 가능한 문제이다. 풀이 과정 다리가 비어있을때 큐에 트럭을 담아주고 트럭의 무게값을 변수에 합산해준다. 다리가 꽉차 있을경우 poll()을 사용하여 맨앞 트럭을 빼주고 무게값에서 빠진 트럭의 무게만큼 빼준다.(poll()을 사용하게 될경우 큐의 앞의 제거하고 반환해주게된다.) 두 가지 경우를 모두 벗어나고, 무게가 초과하는 경우 큐에 0을 담아주어 트럭을 한칸 밀어준다. 두 가지 경우를 모두 벗어나고, 무게가 초과하지 않는 경우 다리가 비었을때와 동일하게 큐에 트럭을 담아주고 무게값을 합산해준다. 풀이 코드 import java.util.LinkedList; import java.util.Queue; class Solution { public int solution(.. 더보기
[JPA] Entity Jpa Entity DB에서 영속적으로 저장된 테이터를 자바 객체로 매핑하여 '인스턴스 형태'로 존재하는 데이터를 말한다. 사용예 ) @Entity @Getter @Setter @EqualsAndHashCode(of = "id") @Builder @AllArgsConstructor @NoArgsConstructor public class Admin { @Id public Long idx; //고유 id @Column(unique = true) private String id; // 관리자 id @Column private String pw; // 관리자 pw @Column private LocalDateTime joinAt; //가입일 } Entity : Entity 클래스임을 설정해준다... 더보기
[Programmers] Level1. 자릿수 더하기 (Java) Level1. 자릿수 더하기 (Java) 문제설명 ) 풀이Code ) import java.util.*; public class Solution { public int solution(int n) { int answer = 0; int num = n; // num라는 변수를 생성해 n값으로 초기화 해준다. while(num > 0) { answer += num%10; // num를 10으로 나눈 나머지값을 answer에 더해준다. num /= 10; // num를 10씩 나눠서 num으로 저장한다. } return answer; } } 풀이법 ) 1. int형의 자릿수를 도출할때는 10을 나눈값의 나머지를 구하면 도출할수있다. 더보기