Study/Spring 3

Given-When-Then 패턴으로 단위 테스트

단위 테스트✔️ 프로젝트에 필요한 모든 기능에 대해 각각 독립적인 테스트를 수행하는 것✔️ 특정 부분, 메서드나 클래스 단위로 테스트를 진행해서 해당 기능이 의도한 대로 작동하는지 확인하는 절차    F.I.R.S.TFast : 테스트는 빠르게 진행 되어야 하고, 개발 속도에 영향을 받지 않음.Independent : 각 테스트는 독립적이어야 하고 다른 테스트에 의존하지 않아야 하며, 순서에 상관없이 실행될 수 있어야 함Repeatable : 어떤 환경에서나 동일한 결과를 내야 하고 반복 실행에도 일관된 결과가 도출되어야 함Self Validating : 테스트 결과가 성공인지 실패인지 스스로 판단할 수 있어야 함Timely : 테스트는 코드를 작성하기 전, 혹은 코드 작성과 동시에 이루어져야 함 ➡️ ..

Study/Spring 2024.09.13

JaCoCo 테스트 리포트 만들기

JaCoCo- Java Code Coverage- 코드 커버리지를 측정하기 위한 라이브러리- 코드베이스에서 테스트 되고 있는 부분과 테스트 되지 않고 있는 부분을 리포트로 확인 가능- 일정 커버리지 이하는 빌드 되지 않게 limit 해놓을 수도 있다- 프로젝트의 테스트를 효율적으로 관리 가능함        설정은 어렵지 않았다build.gradle에 플러그인 추가해주면 끝! 의존성 추가는 필요 없음여기서 다양한 설정도 가능하다   1, 플러그인 추가plugins { id 'jacoco'}  2, Jacoco 버전 설정jacoco { toolVersion = "0.8.8"}  3, 리포트 설정tasks.jacocoTestReport { dependsOn tasks.test // 테스트가 실..

Study/Spring 2024.08.27

테스트 주도 개발 방식 (TDD)

TDD (Test-Driven Development) ✔️ 테스트 주도 개발로 개발 전 테스트 코드를 먼저 작성하는 개발 방법론 ✔️ 애자일 개발 방식 중 하나로 코드 설계 시 단계적 목표를 가지고 개발을 진행  TDD 방식의 개발 순서1, 테스트 코드 작성 ▪️  요구사항에 따라 테스트를 먼저 작성한다 ▪️  비즈니스 로직이 없어 테스트가 실패하게 된다 2, 코드 작성 ▪️  테스트가 성공할 수 있도록 필요한 최소한의 코드 작성 3, 테스트 반복 ▪️  테스트를 다시 실행하여 성공 여부를 확인햔다 ▪️  성공할 때까지 반복한다 ➡️ 이런 방식으로 프로젝트를 점진적으로 개발 TDD 방식으로 개발하는 이유 ▪️   테스트 코드를 먼저 작성하기 위해서는 요구사항 분석 및 이해가 필요         →  개발..

Study/Spring 2024.08.11