2011-03-16 4 views
1

내 응용 프로그램에 SchedulerFactoryBean을 사용하여 간단한 작업을 만들었습니다. 누구든지 내게이 작업을 Junit을 사용하여 테스트하고 지정된 간격 동안 정상적으로 작동하는지 확인한 후 그 작업을 중지해야합니다. 나는 샘플 클래스를 만들었고 잘 작동하는지 테스트했다. 멈추기 위해 애플리케이션을 중지/종료해야한다.석영 스케쥴러 용 Junit

내가 JUnit을을 사용하여 시도하려는 것은 : 작업 호출이 필요한 간격 후에, 나는이 방법 다음 작업을 중지해야와 관련된 반환 방법의 값과 다른 기능을 테스트 할 방법입니다.

public class First { 
    private HashMap myData = null; 

    public void reload(){ 
    myData = calling some method; 
    } 
} 

나는 처음에는 Junit의 인스턴스를 만든 다음 일정 시간 동안 대기 상태로 만듭니다. 잠자기 사이에 재로드가 작업에 의해 호출되고 myData가 채워집니다. 이제 Junit을 사용하여 myData의 값을 테스트해야합니다. 사전에 http://www.mkyong.com/spring/spring-...duler-example/

감사 :

나는 아래의 링크를 사용하여이 작업을 만들었습니다.

답변

1

여기에는 달성 방법에 대한 설명이 포함되어 있습니다 (또는하지 않으려는 경우) : sensible advice

링크는 기본적으로 단위 테스트에 대한 논리를 서비스 클래스로 추상화 한 다음 해당 클래스에 대한 단위 테스트를 시도합니다.

발견 : stackoverflow thread 너무 흥미 롭습니다.

희망이 있습니다.

+0

감사합니다 Nilesh. 이제는 문제가 reload()에 있고, myData 값은 Job을 통해 somemethod로 채워지고 로그 파일에서는 데이터가 표시됩니다. getter 메서드를 사용하여 myData 값에 액세스하려고하면 First myData 변수의 개체가 null 인 경우 null이 반환됩니다. myData의 값이 인스턴스에 반영되지 않는 이유는 알 수 없습니다. – user650900

+0

올바르게 문제를 이해하지 못합니다. 더 많은 코드를 제공하고 정교하게 만들 수 있습니까? – Nilesh

0

코드 섹션을 추가 할 수 있습니다 : JUnit 스레드 끝을 피하십시오. 그러나 그것은 추천 방법이 아닙니다. 왜냐하면 당신이 maven이나 hudson을 사용한다면 프로세스는이 메소드에 의해 막힐 것이고, 빌드는 실패 할 것이기 때문이다.