함께 그룹 JUnit 테스트에 junit API :어떻게 함께 그룹을 사용하여 일반적인 테스트하는 JUnit을 러너를 만들려고 해요
package whatever;
import org.junit.runner.Description;
import org.junit.runner.Runner;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunNotifier;
public class SomeTestRunner extends Runner {
public SomeTestRunner(Class<?> testClass) {}
@Override
public Description getDescription() {
return Description.EMPTY;
}
@Override
public void run(RunNotifier notifier) {
for (int i = 0; i < 3; i++) {
Description parent = Description.createSuiteDescription("Parent_" + i);
for (int j = 0; j < 3; j++) {
Description child = Description.createTestDescription(Exception.class, "Child_" + j);
parent.addChild(child);
Failure failure = new Failure(child, new Exception());
notifier.fireTestFailure(failure);
}
Failure failure = new Failure(parent, new Exception());
notifier.fireTestFailure(failure);
}
}
}
나는이 러너를 사용하여 테스트를 실행할 때 문제는 내가 할 수있는,이다 행의 실패, 부모와 자녀를 참조 대신 그룹화 :
Results :
Tests in error:
Child_0(java.lang.Exception)
Child_1(java.lang.Exception)
Child_2(java.lang.Exception)
Parent_0
Child_0(java.lang.Exception)
Child_1(java.lang.Exception)
Child_2(java.lang.Exception)
Parent_1
Child_0(java.lang.Exception)
Child_1(java.lang.Exception)
Child_2(java.lang.Exception)
Parent_2
Tests run: 12, Failures: 0, Errors: 12, Skipped: 0
는 또한, 내가 이클립스에서이 테스트를 실행할 때 그들이 함께 그룹화 할 전망 - 그러나 케이스를하지 이잖아. 내가 뭘 놓치고 있니? 심지어 가능할까요?
테스트 실패를 발생시키는 순서대로 출력됩니다. 당신은 무엇을 다르게 기대 했습니까? – Perception
글쎄, 나는 스위트에서 함께 그룹화 된 것을 볼 것으로 예상했다. createSuiteDescription() 및 addChild()가 수행 할 작업이 아닙니까? – uzilan