모의객체
-
[JUnit] 모의 객체 프레임워크 EasyMock / JMock / MockitoDEV/JUnit 2024. 9. 11. 00:06
모의 객체를 사용하기 위한 유용한 클래스를 제공하는 오픈 소스 프레임워크- EasyMock- JMock- Mockito EasyMockmaven org.easymock easymock 5.4.0 gradletestImplementation group: 'org.easymock', name: 'easymock', version: '5.4.0' EasyMock을 활용한 TestAccountServiceimport org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import static org.easymock.EasyMock.*;import static..
-
[JUnit] 모의객체를 활용해 리팩터링하기DEV/JUnit 2024. 8. 27. 09:03
테스트를 단순하게 만들 목적으로 런타임 코드를 변경해서는 안된다는 통념이 있다. 그러나 이는 옳지않다.단위 테스트는 런타임 코드의 가장 중요한 클라이언트이며, 코드가 테스트하기에 충분히 유연하지않다면 코드를 수정하는 것은 당연하다. 다음 예제에서 문제를 찾아보자.import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.util.PropertyResourceBundle;import java.util.ResourceBundle;public class DefaultAccountManager1 implements AccountManager { private static final Log logg..
-
[JUnit] 모의 객체로 테스트하기DEV/JUnit 2024. 8. 25. 23:09
모의객체를 사용하면 가능한 한 가장 세밀한 수준에서 테스트를 실행할 수 있다.각 메서드별로 개별적인 단위 테스트를 만들어 개발하는 것이 가능하다. 모의 객체란?모의 객체는 비즈니스 로직의 일부만을 다른 부분과 격리해 테스트하는데 적합하다. 모의 객체는 테스트 대상인 메서드가 사용하는 객체를 대체하여 테스트 대상 메서드는 다른 객체와 격리되는 효과가 생긴다. 다른 클래스나 메서드와 격리된 상태에서 테스트를 하면 큰 이점이 있다. 격리된 상태에서의 테스트는 다른 부분의 코드가 완성되는 것을 기다리지 않고 한 부분의 코드를 단위 테스트하는 데 큰 도움이 된다.모의 객체를 사용할 때의 가장 큰 장점은 메서드에 집중하는 테스트를 만들 수 있다는 것이다. 모의 객체를 사용하면 테스트 대상 메서드가 다른 객체를 호출..