본문 바로가기

테스트6

테스트 대역 5가지 테스트 대역 5가지 유형유형설명Dummy아무런 동작을 하지 않습니다.Stub지정한 값만 반환합니다.Fake자체적인 로직이 있습니다.Mock아무런 동작을 하지 않습니다. 대신 어떤 행동이 호출됐는지 기록합니다.Spy실제 객체와 똑같이 행동합니다. 그리고 모든 행동 호출을 기록합니다. DummyDummy(더미)는 테스트 대역 중에서도 가장 간단하고 뚜렷한 목적을 지닌 대역입니다. Dummy의 역할은 아무런 동작을 하지 않는 것입니다. Dummy 객체는 오롯이 코드가 정상적으로 돌아가게 하기 위한 역할만 합니다. 그리고 특정 행동이 일어나지 않게 만드는데 사용됩니다.@Service@RequiredArgsConstructorpublic class UserService { private final U.. 2024. 7. 17.
테스트 소프트웨어 공학에서 말하는 테스트는 소프트웨어의 품질과 기능을 확인하고 버그를 찾아내는 과정을 말합니다. 이 과정은 시스템의 안정성과 성능 등 다양한 측면을 평가하고 문제점을 발견하기 위해 반드시 필요합니다. 그래서 오늘날 많은 프로젝트에서는 개발된 시스템을 배포하기 전 어떤 방법으로든 테스트를 거치게 하고 있습니다. 이때 테스트는 시스템을 어떻게 검증하느냐에 따라 크게 두 가지로 분류할 수 있습니다.수동 테스트 ( manual testing )자동 테스트 ( automated testing )수동 테스트는 테스트 담당자가 소프트웨어를 직접 실행해보고 각각의 기능을 평가하며 구현된 기능이 요구사항이 부합하는지 검증하는 과정을 말합니다. 테스트 담당자는 사용자 관점에서 소프트웨어를 다양한 시나리오를 토대로.. 2024. 7. 16.
Mockito 를 활용한 단위 테스트 단위 테스트는 소프트웨어 개발 과정에서 필수적인 부분입니다. 그러나, 외부 시스템이나 클래스 의존성 때문에 단위 테스트를 작성하고 실행하는 것이 어려울 때가 있습니다. 이런 문제를 해결하기 위해 Mockito 라는 강력한 모킹 프레임워크가 자주 사용됩니다. 이 글에서는 Mockito 기초부터 시작하여, 실제 예시를 통한 활용 방법을 알아보겠습니다. Mockito 란? Mockito는 Java 기반의 모킹 프레임워크로, 단위 테스트에서 외부 의존성을 모의(Mock) 객체로 대체하여 테스트의 견고성과 독립성을 높이는데 사용됩니다. Mockito를 사용하면 실제 객체를 모의 객체로 대체하여, 외부 시스템과의 상호작용을 시뮬레이션할 수 있습니다. Mockito 기본 사용법 Mock 객체 생성 : "mock()".. 2024. 1. 24.
번거로운 동작을 스텁(stub)으로 대체 "자바와 Junit를 활용한 실용주의 단위 테스트" 책에 나오는 번거로운 동작을 스텁으로 대체에 대해 알아볼까 합니다. 단위 테스트에서 외부 시스템이나 서비스와의 상호작용을 모의 객체(stub)를 사용하여 단순화 하는 방법에 대해 설명하는데요 이 접근법은 테스트의 실행 속도를 높이고, 외부 시스템의 불안정성이나 제어 불가능한 요소들로 부터 독립적인 테스트 환경을 만드는데 도움을 줍니다. * 테스트 용도로 하드 코딩한 값을 반환하는 구현체를 스텁이라고 합니다. 번거로운 동작 예시 네트워크를 통한 데이터 통신 : 실제 서버에 접속하여 데이터를 주고 받는 과정은 네트워크 지연, 서버 문제 등으로 테스트가 느려지가나 실패할 수 있습니다. 데이터베이스 접근 : 실제 데이터베이스에 접근하는 것은 테스트 실행 속도를.. 2024. 1. 24.