'junit'에 해당되는 글 5건

  1. 2014.11.19 [Elasticsearch] ElasticsearchIntegrationTest 삽질 공유.
  2. 2013.04.08 [java] junit thread testing.
  3. 2012.03.19 Spring MVC Controller Junit Test 작성해보기.
  4. 2010.03.16 JUnit 4 - annotation 설명
  5. 2009.05.12 [링크]Eclipse 에서 JUnit 사용하기

[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 하세요.



저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

[java] junit thread testing.

ITWeb/개발일반 2013.04.08 12:51

메인 class 에 multi thread 로 구현된 코드를 junit test 로 테스트 할려고 할때 복잡 하지 않고 단순 테스트용 도로만 그냥 돌리고 싶다면 test code 에 sleep(적당한 시간) 을 주면 테스트 가능 합니다.


그냥 돌리게 되면 test 수행이 끝남과 동시에 thread 는 종료가 되어서 실제 thread 내부 코드가 잘 동작 하는지 확인이 안됩니다.


아래는 그냥 테스트 한 코드이니 참고 정도만 하세요.


@Test

public void testClientIndexer() throws Exception {

    ClientIndexer clientIndexer ;


    clientIndexer = new ClientIndexer();

    clientIndexer.connect();

    clientIndexer.open();


    Thread.sleep(30000);

}


신고
tags : junit, test, thread
Trackback 0 : Comment 0

Spring MVC Controller Junit Test 작성해보기.

ITWeb/개발일반 2012.03.19 19:10
java 개발 하면서 TDD 많이들 들어 보셨을 겁니다.
또는 Code 의 품질 확보를 위한 방법으로도 junit 을 적용하기도 하구요.
뭐.. 이유야 어찌되었건... 오늘은 spring mvc 로 개발한 controller 에 대해서 test code 를 작성해 보겠습니다.
아래 예제는 Mockito 를 이용해서 작성 하였습니다.

[참고사이트]



[BoardContentViewController.java - Controller]

더보기



[BoardContentViewControllerTest.java - Controller] 
- 다들 아시겠지만, src/test/java 아래 동일 패키지명으로 해서 해당 클래스 뒤에 Test 만 붙히시면 됩니다.
- Model 같은 경우 interface 이기 때문에 initialize 를 하면 오류가 발생 합니다. 그렇다 보니 이넘이 구현체를 가지고 initialize 하시면 오류가 없습니다.
- Controller 에서 @Autowired 를 했기 때문에 따로 service 객체에 대한 setter 를 구현 안했었는데요, 이렇게 하니 Test 에서 service 객체가 null 이라고 계속 오류를 냅니다.
- 그래서 위에서 처럼 setter 를 생성 해서 해결 했습니다. (다른 방법 아시는 분은 공유 부탁 합니다.)

더보기



[pom.xml 추가설정]

더보기



※ 예제를 보셔서 아시겠지만 초절정 쉬운 TestCase 작성 내용이였습니다.
이를 기반으로 확장및 응용은 각자의 몫으로 남기겠습니다.

신고
Trackback 0 : Comment 0

JUnit 4 - annotation 설명

ITWeb/개발일반 2010.03.16 17:00
@Test annotation
Test Case 를 만들어 줍니다. (선언)
 

@Test

public void blahMethod() {
    String result = "blah";

    assertEquals("blah", result);

}


@Before & @After annotation

각각 setup 과 tearDown method 를 위한 annotation

@Before

public void blahBeforeTest() {
    blah = new Blah();

}

@After

public void blahAfterTest() {
    blah = null;

}


@BeforeClass & @AfterClass
@BeforeClass : test case 수행 이전에 한번 실행, @AfterClass : test case 수행 후 한번 실행

@BeforeClass

public void blahBeforeTest() {
}

@AfterClass

public void blahAfterTest() {

}


@Ignore
Test Case 수행을 무시


@기타
@Ignore("무시이유작성")
@Test(timeout = 1000) : 시정한 시간이 경과 하면 test fail. (miiseconds)


사용하면 편한 mock 객체
- easymock
- mockito
신고
Trackback 0 : Comment 0

[링크]Eclipse 에서 JUnit 사용하기

ITWeb/개발일반 2009.05.12 16:00
구글링 해보면 많이도 나와 있지요.
그래서 따로 정리는 하지 않고 잘 정리된 사이트 몇개 링크 걸어 봅니다. :)

- Junit
http://www.javajigi.net/pages/viewpage.action?pageId=278
http://younghoe.info/255
http://decoder.tistory.com/3


JUnit 과 함께 알아야 할 내용 중 TDD(Test Driven Development) 이라는게 있죠.
요즘 회사에서 개발 생산성이랑 Quality Practice 관련해서 다양한 요구사항이 나오고 있내요.

암튼 재밌다는거... ㅎㅎ

- TDD
http://wikidocs.net/mybook/read/index?pageid=3
http://wiki.javajigi.net/display/OSS/TDD
http://xper.org/LineReaderTdd/
신고
tags : eclipse, junit, TDD
Trackback 0 : Comment 0