1
매분마다 집계를 계산하는 스톰 토폴로지가 있습니다. 자바 단위 테스트로 응용 프로그램을 다루고 싶습니다만 일부 Java 단위 테스트의 작동 예제를 찾을 수 없습니다.Apache Storm에서 시뮬레이트 된 시간을 사용하여 Java unit test를 작성하는 방법은 무엇입니까?
시간의 변화를 시뮬레이트하고 토폴로지 출력을 가져 와서 테스트해야합니다.
매분마다 집계를 계산하는 스톰 토폴로지가 있습니다. 자바 단위 테스트로 응용 프로그램을 다루고 싶습니다만 일부 Java 단위 테스트의 작동 예제를 찾을 수 없습니다.Apache Storm에서 시뮬레이트 된 시간을 사용하여 Java unit test를 작성하는 방법은 무엇입니까?
시간의 변화를 시뮬레이트하고 토폴로지 출력을 가져 와서 테스트해야합니다.
이 솔루션은 것 같습니다 :
함께Time
클래스와 그 도움이 매뉴얼 시간 발전 방법과 (알수없는 모든 Javadoc과에서 누락)을
Testing
클래스를 활용
Testing.withSimulatedTimeLocalCluster(new TestJob() {
public void run(Cluster cluster) {
// your testing logic here.
Time.advanceTime(100);
}
});
.
참고 :이 기능은 Storm의 내부 시계가 슬라이딩 윈도우 등으로 사용될 때만 도움이됩니다. 자신의 코드는 시뮬레이트 된 시간도 알고 있어야합니다. Java 세계에서 표준 작업을 수행하는 방법으로는 Clock
클래스 (Java 8 만 해당) 또는 012oda클래스가 있습니다 (Joda-Time이 붙어있는 경우).
아마도 도움이됩니다. https://github.com/mjsax/aeolus/tree/master/queries/lrb/src/test/java/de/hub/cs/dbis/lrb/operators –
감사합니다. 테스트는 각 볼트를 개별적으로 테스트합니다. 하나의 테스트에서 전체 토폴로지를 테스트하고 싶습니다. "테스트"클래스를 사용해야한다고 생각합니다. –
'LocalCluster'를 사용해 보셨습니까? –