EasyMock 소개
단원 테스트에서 우리가 자주 겪는 문제는 응용 중의 다른 협동 모듈이 아직 개발되지 않았거나 테스트 모듈에 의해 구조가 쉽지 않고 복잡한 대상과 상호작용을 해야 한다는 것이다.또한 다른 모듈의 정확성을 확신할 수 없기 때문에 테스트에서 발견된 문제가 어느 모듈에서 발생했는지 확정할 수 없습니다.이런 상황에서 우리는 격리가 필요한 대상을 모의하여 테스트와 테스트 경계 이외의 대상을 분리할 수 있다.이것이 바로 이른바 Mock 방법이다.
그러나 사용자 정의 Mock 객체를 수동으로 작성하는 것은 시간이 걸리고 오류가 발생하기 쉽습니다.EasyMock은 동적으로 Mock 객체를 구성하는 기능을 제공합니다.EasyMock은 지정된 인터페이스에서 간단한 방법으로 Mock 객체를 생성하는 데 사용되는 라이브러리입니다.이것은 인터페이스에 대한 시뮬레이션을 제공하여 녹화, 재생, 검사 세 단계를 통해 대체적인 테스트 과정을 완성할 수 있으며, 방법의 호출 종류, 횟수, 순서를 검증할 수 있으며, Mock 대상이 지정한 값을 되돌려주거나 지정한 이상을 던질 수 있다.EasyMock을 통해 우리는 편리하게 Mock 대상을 구성하여 단원 테스트를 순조롭게 진행할 수 있다.
EasyMock을 사용하여 셀 테스트를 수행하려면 1.EasyMock을 사용하여 Mock 객체 생성하기;2. Mock 객체의 예상 동작과 출력을 설정합니다.3. Mock 객체를 Replay 상태로 전환합니다.4. Mock 대상 방법을 호출하여 단원 테스트를 진행한다.5. Mock 객체의 동작을 검증합니다.
다음은 EasyMock의 사용을
java.sql.ResultSet ,
으로 살펴보겠습니다.우선, 당연히 easymock을 다운로드해야 합니다.jar,classpath에 추가합니다.이지mock 공식 홈페이지에 오르내리시면 됩니다.
ResultSet
의 창설은 복잡한 과정이다. 먼저 데이터베이스 연결을 얻은 다음에 Statement
을 창설해야 마지막에 ResultSet 。 , “ ”
ResultSet , , E
asymock의 출력을 설정할 수 있다.아래 위 코드:
ResultSet mockResultSet = org.easymock.EasyMock.createMock(ResultSet.class);// Mock
mockResultSet.getString("name");// Mock
EasyMock.expectLastCall().andReturn("My return value");// Mock
EasyMock.replay(mockResultSet);// Mock Replay
// mock : :"My return value"
System.out.println(mockResultSet.getString("name"));
org.easymock.EasyMock.verify(mockResultSet);
EasyMock은 아직도 많은 유용한 기능을 보여 주지 않았다. 예를 들어 설정 방법의 호출 횟수, 예상 투매의 이상 설정 등이다. 을 상세하게 소개한다.https://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python에서 자주 사용하는 단원 테스트 프레임워크 유니버설Test Case: 하나의 Test Case 실례는 하나의 테스트 용례이고 하나의 테스트 용례는 완전한 테스트 절차이다. 하나의 테스트 용례는 완전한 테스트 단원으로 특정한 구체적인 문제에 대해 검사 검증을 할 수 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.