blob: dc6a811083976a90918cf2aa0f69f42f223c8ed1 [file] [log] [blame]
package org.junit.runner;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.rules.EventCollector.hasSingleFailureWithMessage;
import org.junit.Test;
import org.junit.rules.EventCollector;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.RunnerBuilder;
public class RequestTest {
/**
* #1320 A root of a {@link Description} produced by
* {@link Request#classes(Class...)} should be named "classes"
*/
@Test
public void createsADescriptionWithANameForClasses() {
Description description = Request
.classes(RequestTest.class, RequestTest.class).getRunner()
.getDescription();
assertThat(description.toString(), is("classes"));
}
@Test
public void reportsInitializationErrorThrownWhileCreatingSuite() {
EventCollector collector = new EventCollector();
JUnitCore core = new JUnitCore();
core.addListener(collector);
core.run(new FailingComputer(), FooTest.class, BarTest.class);
assertThat(collector, hasSingleFailureWithMessage("cannot create suite"));
}
private static class FailingComputer extends Computer {
@Override
public Runner getSuite(RunnerBuilder builder, Class<?>[] classes)
throws InitializationError {
throw new InitializationError("cannot create suite");
}
}
private static class FooTest {
}
private static class BarTest {
}
}