전체 글41 [TEST] 테스트를 위한 JUnit 5 와 AssertJ ① 들어가며.프리코스 2주차가 벌써 절반이 지났습니다. TDD 를 적용하고자 개발 전에 우선 테스트를 작성하고 기능 구현을 하는 식으로 적용하고 있는데요. 아직은 JUnit 과 AssertJ 관련 문법이 어색해서 보면서 사용하고 정리할 겸 작성하게 되었습니다.JUnit 5 와 AssertJ.JUnit 5 : 자바 단위 테스트를 위한 테스팅 프레임워크AssertJ : 자바 테스트를 돕기 위해 다양한 문법을 지원하는 라이브러리JUnit 만으로도 단위 테스트를 충분히 작성할 수 있지만 JUnit 에서 제공하는 assertEquals() 와 같은 메소드는 AssertJ 가 주는 메소드에 비해 가독성이 떨어지기에 순수 Java 애플리케이션에서 단위 테스트를 위해 JUnit 5와 AssertJ 조합이 많이 사용됩니다... 2024. 10. 24. [TEST] System.out 과 System.in 의 테스트 방법 들어가며.프리코스 2주차 자동차 경주 게임을 TDD 로 개발하면서 출력과 입력 기능은 어떻게 테스트를 할 수 있는지에 대한 고민이 생겼고 이에 대한 자료와 해결 과정을 정리하고자 한다.출력 기능 테스트.설명하기에 앞서 출력 기능 클래스와 테스트 코드를 보겠습니다.public class OutputViewer { private OutputViewer() { } public static void getCarNameInputMessage() { System.out.println(Constant.CAR_NAME_INPUT_STRING); } public static void getTryCountInputMessage() { System.out.println(C.. 2024. 10. 24. [TDD] 테스트 주도 개발의 의미와 방법에 대해서 들어가며.개발을 하면서 TDD 라는 용어는 한 번쯤은 들어봤을거라 생각하는데요. 이번에 프리코스 2주차를 시작하면서 JUnit 5와 AssertJ 를 이용하여 개발을 진행해보라는 요구 사항을 접하게 되었습니다. 말로는 많이 들어봤지만 개발이 바쁘다보니 실제로 적용해본 적은 없는데요. 이번 기회에 TDD 에 대해 정리하고 JUnit 과 AssertJ 에 익숙해지고자 작성하게 되었습니다.TDD 에 대한 간략한 소개.TDD 는 Test Driven Development 의 약자로 켄트백이 1999년 익스트림 프로그래미의 일부로 제안하며 알려졌습니다. 지금은 많은 분들이 익스트림 프로그래밍은 뭔지 몰라도 TDD 는 알 만큼 유명해졌는데요. TDD 는 동작하는 코드를 작성하기 이전에 테스트를 먼저 작성하고, 그 .. 2024. 10. 24. [우아한 테크코스] 프리코스 1주 차 회고록 들어가며.1주차 프리코스 과제를 처음 받고나서 느낀 것은 "오...다른긴 다르네" 라는 느낌이었습니다. 이전에 교육 받았던 프로그램은 이미 주어진 코드가 있거나 알려준 대로만 따라가는 것에 그쳤지만 과제 진행 요구 사항부터 기능 요구 사항, 프로그래밍 요구 사항 등 구현해야 하는 기능을 알려주면서도 이 안에서 자신이 만들어야하는 기능은 무엇인지, 무엇을 중점적으로 생각하며 코딩을 할 것인지에 대해 깊이 있게 고찰할 수 있는 시간을 준다는 느낌이 들었습니다. 물론 깊이 고민할 수 있게 기회를 준다는게 좋은 느낌도 주었지만 현실은 코드를 시작하려니 "어디서부터 기능 구현을 해야 하지?" 라는 생각이 드는건 어쩔수가 없더라구요.(이건 제가 아직 실력이 부족하다는 뜻이겠지요...ㅠ) 그래서 어디서부터 시작할건.. 2024. 10. 22. [JAVA] 몰라서 못 썼던 정규 표현식을 알아보자 ④ [ 정규표현식 시리즈 ]몰라서 못 썼던 정규 표현식을 알아보자 ①몰라서 못 썼던 정규 표현식을 알아보자 ②몰라서 못 썼던 정규 표현식을 알아보자 ③몰라서 못 썼던 정규 표현식을 알아보자 ④ # 욕심 수량자와 겸허 수량자*, +, ? 등의 수량자가 포함된 경우 서브 매치의 할당은 앞서 포스팅한 왼쪽부터 오른쪽이라는 원칙으로 설명할 수 있었지만, 욕심 수량자와 겸허 수량자의 차이를 이해한다면 이 원칙을 벗어날 수 있습니다.수량자 종류욕심겸허스타**?플러스++?물음표???범위 수량자{n}, {n,m}{n}?, {n,m}? 위 표를 보면 알 수 있듯이 기본적으로 연산자는 욕심의 성질을 가지고 있고 뒤에 물음표을 붙이면 겸허 연산자가 됩니다. 둘의 차이는 캡션에 대하는 동작으로 최대한 많은 패턴을 일치시키려는 욕.. 2024. 10. 22. [JAVA] 몰라서 못 썼던 정규 표현식을 알아보자 ③ [ 정규표현식 시리즈 ]몰라서 못 썼던 정규 표현식을 알아보자 ①몰라서 못 썼던 정규 표현식을 알아보자 ② 몰라서 못 썼던 정규 표현식을 알아보자 ③ 몰라서 못 썼던 정규 표현식을 알아보자 ④# 정규 표현식에서의 "일치"완전 일치 : 정규 표현식이 주어진 문자열 전체에 일치전방 일치 : 정규 표현식이 주어진 문자열의 접두사에 일치후방 일치 : 정규 표현식이 주어진 문자열의 접미사에 일치부분 일치 : 정규 표현식이 주어진 문자열의 부분 문자열에 일치예를 들어 [ab]*a[ab]{2} 라는 정규 표현식이 있을 때 'aab' 나 'bababa' 는 완전 일치하지만, 'babab' 에는 완전 일치하지 않습니다. 하지만 부분 일치로 봤을 때 babab 또한 일치함을 알 수 있습니다. b 'aba' b 처럼 작은 .. 2024. 10. 21. 이전 1 2 3 4 5 6 7 다음