목차

ContiPerf

Test Code

public class UserSerializerTest {
 
    @Rule
    public ContiPerfRule contiPerfRule = new ContiPerfRule();
 
    @Test
    @PerfTest(invocations = 200, threads = 2) // 2개 쓰레드에서 200번(각 100번)호출
    @Required(max = 1200, average = 250) // 테스트 통과조건
    public void shouldSerializeRandomUser() throws JAXBException {
 
        // ...
    }
}

테스트 코드 작동구조

First the @Before method is called. Then the test method is invoked 1,000 times subsequently and finally the @After method(s). ContiPerf 2 supports this behaviour for all JUnit 4 versions since version 4.7.

예를들어 테스트 메소드가 test1(), test2() 두 개이고, invocations=1000이라면 다음과 같이 실행된다.

constructor()
before()
test1() * 1000 회 수행
after()

constructor()
before()
test2() * 1000 회 수행
after()

@PerfTest 옵션들

@Required : 테스트 성공 조건 기술

임시 작동 중단

Bug

java.lang.NoSuchFieldException: fNext

JUnit 최신 버전과 안 맞아서 생기는 오류. JUnit 버전을 다운그레이드(4.11 이하) 할 것.