TDD 6

[우아한테크코스] 6주차후기 - 점진적 리팩토링과 데이터베이스 적용

날짜 TODO 추가 공부 6/10(월) 프로그래밍 (로또) 졸업시험 6/11 (화) 강의 (프로젝트의 요소와 리팩토링) 6/12 (수) 프로그래밍 (로또) 학교과제 6/13 (목) 프로그래밍 (로또) 학교과제 6/14 (금) (동생졸업식) 6/15 (토) 프로젝트 3요소 이번 강의는 "프로젝트 3요소인 비용, 일정, 품질 을 다 좋게할 수 있을까?"에 대한 캡틴의 짧은 언급이 있었다. 일정과 품질에 대해 생각해 볼 수 있는 좋은 기회였다. 많은 경우에서 일정이 품질보다 우선시 되는 경우가 있다고 한다. 그렇다면 일정 > 품질 이라는 것이 나쁜 일 인가라는 의문이 들 수 도 있다. 그렇다고 품질에 집중해서 일정을 놓치면 안된다. 왜냐하면 품질에 대한 명확한 기준이 없기 때문이다. 클린코드를 구현한 프로젝트..

[우아한테크코스] 2주차 과제 피드백 후기

이번 과제는 사다리 타기를 구현하는 프로그램이다. 몇 가지 중요했던 피드백들을 정리해 보았다. 일급 컬렉션 기존 코드 public class Players { private List players; public Players() { players = new ArrayList(); } public void add(Player player) { if (checkDuplicateName(player)) { throw new IllegalArgumentException("이름은 중복될 수 없습니다"); } players.add(player); } public void addAll(List players) { this.players = players; } private boolean checkDuplicateNa..

[우아한테크코스] 2주차 후기 - 어서와 TDD는 처음이지?

우아한테크코스 2주차 후기 날짜 TODO 추가 공부 5/13 (월) 자동차 경주게임 피드백 - 5/14 (화) 강의 (TDD란 무엇인가) 버전 관리 5/15 (수) 페어 프로그래밍 (계산기, 사다리 타기) 책-객체지향과 디자인패턴 5/16 (목) 페어 프로그래밍 (사다리 타기), 사물함 배치 프로그램 책-객체지향과 디자인패턴 5/17 (금) 강의 (피드백), 페어 프로그래밍 (과제 마무리) 일급 컬렉션 5/18 (토) 테니스 시합 참가, 피드백 수정, 캡스톤 개발 - 5/19 (일) 피드백 수정, 캡스톤 미팅 - 2주차 진행 테이블이다. 이번 주는 주말까지 쉴 시간이 없어서 조금 피곤했다. 주말에 추가 공부를 하고 싶었지만 도저히 시간이 되지 않았다. (물론 잠을 더 안자면 되긴 하는데 체력 관리를 위해..

[우아한테크코스] 1주차 후기 - 단위테스트에 대해서

우아한테크코스 1주차 후기 날짜 TODO 추가 공부 5/7 (화) OT 5/8 (수) 강의 (단위 테스트란 무엇인가) 어떻게 공부할 것인가 고민... 5/9 (목) 페어 프로그래밍 (자동차 경주 게임 구현, 계산기 프로그램 구현 -> 단위테스트 중점) JUnit5 공식 문서 정리 5/10 (금) 강의 (피드백), 페어 프로그래밍 (과제 마무리) AssertJ 공식 문서 정리 1주차 진행 테이블이다. 내용은 통합하여 정리하려고 한다. OT 후기 새로 지은 교육장에 처음 간날 오티가 진행이 되었다. 조끼리 앉았지만 그 날만 해당이 되는 부분이었다. 아이스 브레이킹 시간을 갖고 교육이 어떻게 진행되는지 전반적인 설명과 Q&A를 가지는 시간이었다. 다들 열정이 가득해보였다. 첫 강의: 단위 테스트란 무엇인가 첫..

[AssertJ] JUnit과 같이 쓰기 좋은 AssertJ 필수 부분 정리

AssertJ가 core document를 새로운 github.io로 이전했네요 :) . 본 글은 AssertJ 공식 문서를 핵심 챕터를 선정하여 번역하며 정리한 글 입니다. http://joel-costigliola.github.io/assertj/assertj-core.html AssertJ란 무엇인가 AssertJ는 많은 assertion(직역: 주장, 행사)을 제공하는 자바 라이브러리이다. 에러 메세지와 테스트 코드의 가독성을 매우 높여주고 각자 좋아하는 IDE에서 쓰기 굉장히 쉽다. junit에서 제공하는 assertEquals에 비해 훨씬 가독성이 올라간다. junit의 assertEquals의 인자순서는 헷갈릴 가능성이 크다. assertEquals(expected, actual); asse..

프로그래밍/JUnit 2019.05.10 (4)

[JUnit5 개요] Meta 애노테이션과 Assumption, test 실행 순서에 대해

JUnit5 개요 JUnit5 User Guide Junit 공식 문서를 보며 정리해 보았다. 각 챕터 번호는 해당 공식 문서에 매칭되는 번호이다. https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5 1.1 JUnit5란 무엇인가 JUnit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform : JVM에서 돌아가는 테스트 프레임워크이다. 테스트 엔진 API 으로도 정의되며 더욱이 Gradle과 Maven, JUnit4의 빌드 플러그인을 만들 수 있고 커맨드 라인에서 돌아가는 콘솔 런쳐를 제공한다. JUnit Jupiter : JUnit5에서의 테스트 작성을 위..