net.thucydides.core.steps.TestResultTally Maven / Gradle / Ivy
package net.thucydides.core.steps;
import com.google.common.collect.ImmutableList;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* Result of a test step or sequence of test steps.
*/
public class TestResultTally implements Serializable {
private static final long serialVersionUID = 1L;
private List failures = new ArrayList();
private int ignored = 0;
private int run = 0;
final Class> classUnderTest;
private TestResultTally(Class> classUnderTest) {
this.classUnderTest = classUnderTest;
}
public Class> getClassUnderTest() {
return classUnderTest;
}
/**
* Record a test step failure.
* Test step failures are recorded and reported at the end of the test case.
*/
public void logFailure(final StepFailure failure) {
failures.add(failure);
}
/**
* A test step was ignored.
*/
public void logIgnoredTest() {
ignored++;
}
/**
* A test step was executed.
*/
public void logExecutedTest() {
run++;
}
/**
* How many test steps failed.
*/
public int getFailureCount() {
return failures.size();
}
/**
* What were the failures.
*/
public List getFailures() {
return ImmutableList.copyOf(failures);
}
/**
* How many test steps were ignored.
*/
public int getIgnoreCount() {
return ignored;
}
/**
* How many test steps were executed, including ignored and failing test steps.
*/
public int getRunCount() {
return run;
}
/**
* The test case is considered successful if there were no failing tests.
*/
public boolean wasSuccessful() {
return (getFailureCount() == 0);
}
public static TestResultTally forTestClass(final Class> classUnderTest) {
return new TestResultTally(classUnderTest);
}
}