-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8주차 - 테스트 가능한 설계 #78
Comments
📚 Chap 8 문제 📚정리본X ( 전체 문제 참고 ) |
김정호문제 및 해설Q. 정적 메서드를 사용하는 경우 테스트에 까다로운 이유는 테스트 중 static한 field 또는 method를 사용할 경우 모든 클래스는 예상되는 상태에서 시작되어야하기 때문이다. A. O 테스트 뿐만 아니라 데이터를 가공하거나 특정 메서드를 수행할 때 객체지향적 관점에서 static 사용은 지양해야한다고 합니다. 문제 선정 이유편하다는 이유로 static을 사용하는 경우가 많은데, static을 사용하면 테스트가 어려워지는 이유를 알 수 있었습니다. 관련 아티클을 읽어보니 static을 사용하면 객체지향적인 관점에서 좋지 않다는 것을 알 수 있었습니다. |
한규범문제 및 해설Q. 외부 라이브러리는 직접 사용하는 것이 테스트 가능한 설계이다. A. X 문제 선정 이유프로젝트를 진행하면서 외부에서 불러오는 API에 대한 테스트를 어떤식으로 진행해야할지 알 수 있게 되어 선정하였습니다. |
장채은문제 및 해설Q. 하드 코딩된 상수를 _**나 ******로 받아 테스트가 어려운 코드를 테스트가 가능하도록 설계한다 A. 생성자, 메소드 파라미터 문제 선정 이유하드 코딩된 상수(파일 위치 등)로 직접 작성하는 것이 아니라, 다른 개발자들도 사용할 수 있는 형태로 변경하여 작성해야한다는 점을 알게 되었고, 이를 상기시키고자 문제를 선정하게 되었습니다. |
김연지문제 및 해설Q. LocalDate.now() 혹은 Random와 같은 코드에 의해 같은 테스트 코드라도 실행하는 시점에 따라 테스트 결과가 달라진다면 이를 어떻게 해결할 수 있을까? A. 테스트를 하고자 하는 기능 일부만 별도 기능으로 분리해서 테스트를 진행한다. 또는 테스트하고자 하는 기능 자체를 대역으로 변경하여 '의존 대상 주입'을 한다. 문제 선정 이유어떻게 하면 테스트가 어려운 코드를 해결할 수 있을지 에 대한 방법을 이해하고 활용할 수 있는 것이 중요하다고 생각했습니다! |
⭐ Chapter 8. 테스트 가능한 설계
테스트가 어려운 코드를 상황에 따라 알맞은 방법을 통해 테스트할 수 있도록 하는 방법에 대해 알아본다.
The text was updated successfully, but these errors were encountered: