'TestCase'에 해당되는 글 1건

  1. 2014.11.19 [Elasticsearch] ElasticsearchIntegrationTest 삽질 공유.

[Elasticsearch] ElasticsearchIntegrationTest 삽질 공유.

Elastic/Elasticsearch 2014. 11. 19. 13:56

이게 참 그냥 되야 하는 건데 eclipse 설정 환경에 따라 안될 수도 있으니 저 처럼 삽질 하시는 분들이 없도록 공유해 보겠습니다.

여기서 가장 중요한건 에러 메시지에 대한 인지를 얼마나 잘해서 문제를 해결 할수 있도록 접근하느냐 인것 같습니다.


[Elasticsearch 1.4.0]

Step 1) test class 중 아무거나 하나 실행


아래 에러 메시지 출력

Assertions mismatch: -ea was not specified but -Dtests.asserts=true

[2014-11-19 13:05:15,135][ERROR][org.elasticsearch.test   ] FAILURE  : org.elasticsearch.action.OriginalIndicesTests

REPRODUCE WITH  : mvn clean test -Dtests.seed=F00EC17F5FF1D602 -Dtests.class=org.elasticsearch.action.OriginalIndicesTests -Dtests.prefix=tests -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Seoul -Dtests.processors=8

Throwable:

java.lang.Exception: Assertions mismatch: -ea was not specified but -Dtests.asserts=true

    __randomizedtesting.SeedInfo.seed([F00EC17F5FF1D602]:0)

    org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:48)

    org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)

    org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:65)

    org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:55)

    [...com.carrotsearch.randomizedtesting.*]

    java.lang.Thread.run(Thread.java:745)


여기서 핵심은 assertion mismatch 부분 입니다.

딱 봐도 거긴데요.

구글링을 어떻게 하느냐에 따라서 삽질이 될 수도 안될 수도 있습니다. ㅡㅡ;

(참고로 저는 ElasticsearchIntegrationTest error or issue or problem + assertions mismatch + randomizedtesing .,..)


Step 2) REPRODUCE WITH 를 가지고 console 에서 실행.

매우 잘 동작 합니다. ㅡ.ㅡ;;

그래서 멘붕..


Step 3) junit run configure 에 VM 옵션 추가 테스트

아래와 같이 추가 해 봄 

-Dtests.asserts=true

젠장 역시 안됨.


Step 4) 루씬 소스코드도 까보고 이것 저것 삽질 끝에 구글링을 재시도

아래는 재시도 질의

eclipse junit assert enable


Step 5) 두 가지 방법으로 test 성공

1. eclipse preference -> junit -> Add -ea checkbox enable.

2. 해당 test class -> run as -> run configure -> argementgs tab -> vm agrguments 에 -ea 옵션 추가.


이제 저 처럼 삽질 하지 마시고 편하게 es test 하세요.



: