JUnit을 공부해서 단위 테스트를 알아보자.
racingCar를 요구사항에 맞춰 구현해보자.
시작하기에 앞서 새로 랩실에 들어가게 되어서 랩실의 imac에 Java setting을 하고, 그 과정에서 버전 오류로 인한 어려움을 겪었고, 이를 해결하는 간단한 버전 다운그레이드 방법을 찾았다.
우선, 위의 사진처럼 jdk의 설치 버전을 확인한다. (이것저것 시험하다보니 여러개를 설치했다...)
이를 통해서 내 PC에 설치되어있는 jdk들을 확인할 수 있었고, 이중에서 프로젝트와 맞는 버전은 11버전이다.
그래서 위의 사진처럼 명령어를 사용하여 자바의 버전을 설정할 수 있다.
(11을 다른 버전으로 바꾸면 쉽게 바뀐다.)
버전확인은 위의 코드로 쉽게 할 수 있다.
https://github.com/juntae6942/java-racingcar
GitHub - juntae6942/java-racingcar
Contribute to juntae6942/java-racingcar development by creating an account on GitHub.
github.com
작성한 코드는 github에 있다.
우선 Car객체의 기능과 멤버변수에 대해서 생각 해보았다.
Car
Car의 동작은 전진할 것인지를 결정하고, 그에 따라 전진한 횟수를 저장해야 한다.
그리고 전진한 거리를 출력한다.
여기서 전진할 것인지 결정하기 위해서는 난수 생성을 통해서 그 값이 4이상인지도 판별할 수 있어야한다.
Referee
referee는 클래스 이름대로 심판으로서 자동차 경주의 결과를 판단하고, 이를 출력한다.
RacingCarApplication
자동차의 이름을 입력받는 과정과, 난수 생성을 하는 횟수를 입력받는다. 그리고 referee가 판단한 결과를 출력한다.
이러한 간단한 기능 구현을 하는 과정에서 JUnit을 활용한 단위 테스트를 실행해보았고, 이 과정에서 기능의 분할 단위에 대한 고민을 해보게 되었다.
추가적으로 난수를 사용하는 과정에서의 단위 테스트 방법에 대해서도 고민해보게 되었다.
그리고 이번 스터디를 진행하면서 git에 대해 좀 더 알게되었고, commit의 수정에 대해서도 학습해보았다.
commit message의 수정이 필요한 경우 push를 진행한 경우와 진행하지 않은 경우로 나눌 수 있었다.
push를 하지 않은 경우
push를 진행하지 않은 경우에는 git amend와 rebase를 사용할 수 있다.
amend
git commit --amend
가장 최근, 즉 마지막 commit 메시지 수정을 할 때 사용한다.
커밋 수정 창이 뜨면, 리눅스와 마찬가지로 i를 입력하여 inssert모드로 전환하여 내용을 수정하여 wq로 저장하면 된다.
또 다른 방법은 아래의 코드처럼 vi모드로 안들어가고 메시지를 입력하여 처리하는 방법도 있다.
git commit --amend -m "메시지"
rebase
rebase는 여러 commit 메시지를 수정하거나, 이전에 commit한 메시지를 수정하고 싶을 때 사용한다.
이를 위해서는 이전에 수정하고 싶은 commit 메시지가 HEAD로부터 얼마나 떨어져 있는지 알아야한다.
git log를 사용하면 이전의 커밋한 기록을 확인할 수 있다.
그래서 이를 통해 HEAD로부터 얼마나 떨어져 있는지 가늠하고, 아래의 코드를 사용한다.
git rebase -i HEAD~(HEAD로부터 떨어진 거리 or 갯수)
ex) 위에서 4번째 커밋을 수정하려면
git rebase -i HEAD~4
위 코드를 사용하면 vi모드로 들어가고 안에는 pick이라고 되어있는 commit 내용들이 나올 것이다.
수정하고 싶은 commit의 pick 문구를 reword로 바꾸어주고 내용을 수정한 다음 저장해주면 된다.
저장은 리눅스와 마찬가지로 :wq로 할 수 있다.
push를 한 경우
push를 한 경우에는 위의 과정으로 커밋을 수정하고, 강제로 push를 다시하여 덮어 쓰는 방법이 있다.
하지만 이 방법은 권장되지 않는다. push된 로그를 갖고 있던 다른 팀원들이 로그를 직접 수정해야 하기 때문이다.
git push --force (branchname)
'모각코 > 어쩌다보니 박준태가 조장이조' 카테고리의 다른 글
1.17.(수) 모각코 (0) | 2024.01.22 |
---|---|
4회차 어쩌다보니 박준태가 조장이조 - 1.22.(월) (0) | 2024.01.22 |
3회차 어쩌다보니 박준태가 조장이조 - 1.17.(수) (1) | 2024.01.17 |
1.10.(수) 모각코 (0) | 2024.01.15 |
1회차 어쩌다보니 박준태가 조장이조.. - 1. 8.(월) (0) | 2024.01.08 |