use of org.jbehave.core.reporters.ReportsCount in project jbehave-core by jbehave.
the class EmbedderTaskBehaviour method shouldCreateNewEmbedderWithAntMonitor.
@Test
public void shouldCreateNewEmbedderWithAntMonitor() {
// Given
Project project = mock(Project.class);
AbstractEmbedderTask task = new AbstractEmbedderTask() {
};
task.setProject(project);
// When
Embedder embedder = task.newEmbedder();
// Then
EmbedderMonitor embedderMonitor = embedder.embedderMonitor();
assertThat(embedderMonitor.toString(), equalTo("AntEmbedderMonitor"));
// and verify monitor calls are propagated to Project log
BatchFailures failures = new BatchFailures();
embedderMonitor.batchFailed(failures);
verify(project).log(task, "Failed to run batch " + failures, MSG_WARN);
String name = "name";
Throwable cause = new RuntimeException();
embedderMonitor.embeddableFailed(name, cause);
verify(project).log(task, "Failed to run embeddable " + name, cause, MSG_WARN);
List<String> classNames = asList("name1", "name2");
embedderMonitor.embeddablesSkipped(classNames);
verify(project).log(task, "Skipped embeddables " + classNames, MSG_INFO);
embedderMonitor.runningEmbeddable(name);
verify(project).log(task, "Running embeddable " + name, MSG_INFO);
List<String> storyPaths = asList("/path1", "/path2");
embedderMonitor.storiesSkipped(storyPaths);
verify(project).log(task, "Skipped stories " + storyPaths, MSG_INFO);
String path = "/path";
embedderMonitor.storyFailed(path, cause);
verify(project).log(task, "Failed to run story " + path, cause, MSG_WARN);
embedderMonitor.runningStory(path);
verify(project).log(task, "Running story " + path, MSG_INFO);
Object annotatedInstance = new Object();
Class<?> type = Object.class;
embedderMonitor.annotatedInstanceNotOfType(annotatedInstance, type);
verify(project).log(task, "Annotated instance " + annotatedInstance + " not of type " + type, MSG_WARN);
File outputDirectory = new File("/dir");
List<String> formats = asList(Format.CONSOLE.name(), Format.HTML.name());
Properties viewProperties = new Properties();
embedderMonitor.generatingReportsView(outputDirectory, formats, viewProperties);
verify(project).log(task, "Generating reports view to '" + outputDirectory + "' using formats '" + formats + "'" + " and view properties '" + viewProperties + "'", MSG_INFO);
embedderMonitor.reportsViewGenerationFailed(outputDirectory, formats, viewProperties, cause);
verify(project).log(task, "Failed to generate reports view to '" + outputDirectory + "' using formats '" + formats + "'" + " and view properties '" + viewProperties + "'", cause, MSG_WARN);
int stories = 2;
int storiesNotAllowed = 1;
int storiesPending = 1;
int scenarios = 4;
int scenariosFailed = 1;
int scenariosNotAllowed = 0;
int scenariosPending = 1;
int stepsFailed = 1;
embedderMonitor.reportsViewGenerated(new ReportsCount(stories, storiesNotAllowed, storiesPending, scenarios, scenariosFailed, scenariosNotAllowed, scenariosPending, stepsFailed));
verify(project).log(task, "Reports view generated with " + stories + " stories (of which " + storiesPending + " pending) containing " + scenarios + " scenarios (of which " + scenariosPending + " pending)", MSG_INFO);
verify(project).log(task, "Meta filters excluded " + storiesNotAllowed + " stories and " + scenariosNotAllowed + " scenarios", MSG_INFO);
embedderMonitor.reportsViewNotGenerated();
verify(project).log(task, "Reports view not generated", MSG_INFO);
}
use of org.jbehave.core.reporters.ReportsCount in project jbehave-core by jbehave.
the class EmbedderBehaviour method shouldThrowExceptionIfNoScenariosRunForStoriesAndIgnoreFlagIsNotSet.
@Test(expected = RunningStoriesFailed.class)
public void shouldThrowExceptionIfNoScenariosRunForStoriesAndIgnoreFlagIsNotSet() throws Throwable {
// Given
PerformableTree performableTree = mock(PerformableTree.class);
EmbedderControls embedderControls = new EmbedderControls();
OutputStream out = new ByteArrayOutputStream();
EmbedderMonitor monitor = new PrintStreamEmbedderMonitor(new PrintStream(out));
ViewGenerator viewGenerator = mock(ViewGenerator.class);
Embedder embedder = embedderWith(performableTree, embedderControls, monitor);
embedder.configuration().useViewGenerator(viewGenerator);
File outputDirectory = new File("target/output");
List<String> formats = asList("html");
Properties viewResources = new Properties();
when(viewGenerator.getReportsCount()).thenReturn(new ReportsCount(1, 0, 0, 0, 0, 0, 0, 1));
embedder.generateReportsView(outputDirectory, formats, viewResources);
// Then fail as expected
}
use of org.jbehave.core.reporters.ReportsCount in project jbehave-core by jbehave.
the class EmbedderBehaviour method shouldThrowExceptionIfScenariosFailedAndIgnoreFlagIsNotSet.
@Test(expected = RunningStoriesFailed.class)
public void shouldThrowExceptionIfScenariosFailedAndIgnoreFlagIsNotSet() throws Throwable {
// Given
PerformableTree performableTree = mock(PerformableTree.class);
EmbedderControls embedderControls = new EmbedderControls();
OutputStream out = new ByteArrayOutputStream();
EmbedderMonitor monitor = new PrintStreamEmbedderMonitor(new PrintStream(out));
ViewGenerator viewGenerator = mock(ViewGenerator.class);
Embedder embedder = embedderWith(performableTree, embedderControls, monitor);
embedder.configuration().useViewGenerator(viewGenerator);
File outputDirectory = new File("target/output");
List<String> formats = asList("html");
Properties viewResources = new Properties();
when(viewGenerator.getReportsCount()).thenReturn(new ReportsCount(1, 0, 1, 2, 1, 1, 1, 1));
embedder.generateReportsView(outputDirectory, formats, viewResources);
// Then fail as expected
}
use of org.jbehave.core.reporters.ReportsCount in project jbehave-core by jbehave.
the class EmbedderBehaviour method shouldNotThrowExceptionIfScenariosFailedAndIgnoreFlagIsSet.
@Test
public void shouldNotThrowExceptionIfScenariosFailedAndIgnoreFlagIsSet() throws Throwable {
// Given
PerformableTree performableTree = mock(PerformableTree.class);
EmbedderControls embedderControls = new EmbedderControls().doIgnoreFailureInView(true);
OutputStream out = new ByteArrayOutputStream();
EmbedderMonitor monitor = new PrintStreamEmbedderMonitor(new PrintStream(out));
ViewGenerator viewGenerator = mock(ViewGenerator.class);
Embedder embedder = embedderWith(performableTree, embedderControls, monitor);
embedder.configuration().useViewGenerator(viewGenerator);
File outputDirectory = new File("target/output");
List<String> formats = asList("html");
Properties viewResources = new Properties();
when(viewGenerator.getReportsCount()).thenReturn(new ReportsCount(1, 0, 1, 2, 1, 0, 1, 1));
embedder.generateReportsView(outputDirectory, formats, viewResources);
// Then
verify(viewGenerator).generateReportsView(outputDirectory, formats, viewResources);
assertThatReportsViewGenerated(out);
}
use of org.jbehave.core.reporters.ReportsCount in project jbehave-core by jbehave.
the class EmbedderBehaviour method shouldFailWhenGeneratingReportsViewWithFailedSteps.
@Test(expected = RunningStoriesFailed.class)
public void shouldFailWhenGeneratingReportsViewWithFailedSteps() throws Throwable {
// Given
PerformableTree performableTree = mock(PerformableTree.class);
EmbedderControls embedderControls = new EmbedderControls().doGenerateViewAfterStories(false);
OutputStream out = new ByteArrayOutputStream();
EmbedderMonitor monitor = new PrintStreamEmbedderMonitor(new PrintStream(out));
ViewGenerator viewGenerator = mock(ViewGenerator.class);
Embedder embedder = embedderWith(performableTree, embedderControls, monitor);
embedder.configuration().useViewGenerator(viewGenerator);
File outputDirectory = new File("target/output");
List<String> formats = asList("html");
Properties viewResources = new Properties();
when(viewGenerator.getReportsCount()).thenReturn(new ReportsCount(2, 0, 0, 2, 1, 0, 0, 1));
embedder.generateReportsView(outputDirectory, formats, viewResources);
// Then
verify(viewGenerator).generateReportsView(outputDirectory, formats, viewResources);
assertThatReportsViewGenerated(out);
}
Aggregations