下面列出了org.junit.runner.Result#getIgnoreCount() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Updates the current state of <code>this</code> with the <code>result</code>.
*
* @param testClass The test class executed.
* @param result The results of the test class execution.
* @return <code>this</code>
*/
public TestResults merge(Class<?> testClass, Result result) {
LOG.info("Tests run: {}, Failures: {}, Skipped: {}, Time elapsed: {} - in {}",
result.getRunCount(), result.getFailureCount(), result.getIgnoreCount(),
TimeUnit.SECONDS.convert(result.getRunTime(), TimeUnit.MILLISECONDS),
testClass.getName());
numRun += result.getRunCount();
numFailed += result.getFailureCount();
numIgnored += result.getIgnoreCount();
// Collect the failures
if (!result.wasSuccessful()) {
failures.addAll(result.getFailures());
}
return this;
}
/**
* Called when all tests have finished. Prints to stdout if the tests were successful or not. If
* not, it also prints the number of failed test cases. Finally, it prints the number of
* ignored test cases.
*
* @param result the summary of the test run, including all the tests that failed
*/
@Override
public void testRunFinished(Result result) throws Exception {
if (result.wasSuccessful()) {
System.out.println("Successfully finished running "
+ formatTestCaseCount(result.getRunCount()) + " in " + result.getRunTime() + " ms.");
} else {
System.out.println("Finished running " + formatTestCaseCount(result.getRunCount())
+ " in " + result.getRunTime() + " ms.");
int failureCount = result.getFailureCount();
if (failureCount == 1) {
System.out.println("There was 1 failed test.");
} else {
System.out.println("There were " + failureCount + " failed tests.");
}
}
int ignoredCount = result.getIgnoreCount();
if (ignoredCount == 1) {
System.out.println(result.getIgnoreCount() + " test case was ignored.");
} else if (ignoredCount > 1) {
System.out.println(result.getIgnoreCount() + " test cases were ignored.");
}
}
public UnitTestResult(Result jr) {
this.runCount = jr.getRunCount();
this.failureCount = jr.getFailureCount();
this.runTime = jr.getRunTime();
this.ignoreCount = jr.getIgnoreCount();
this.successful = jr.wasSuccessful();
}
public TestResult(Result result) {
runCount = result.getRunCount();
failureCount = result.getFailureCount();
ignoreCount = result.getIgnoreCount();
runTime = result.getRunTime();
if (!wasSuccessful()) {
throwable = result.getFailures().get(0).getException();
}
}
@Override
public int getIgnoreCount() {
int total = 0;
for (Result result : results()) {
total += result.getIgnoreCount();
}
return total;
}
@Test
public void test() {
Request request = Request.method(testMethod.getDeclaringClass(), testMethod.getName());
Result result = new JUnitCore().run(request);
if (result.getIgnoreCount() > 0)
throw new AssumptionViolatedException("Test " + testMethod.getDeclaringClass()
+ "." + testMethod.getName() + " were ignored");
if (result.getFailureCount() > 0) {
Assert.fail(result.getFailures().toString());
}
}
public static void run(final Class... suites) {
boolean underTC = System.getenv(TEAMCITY_DETECT_VAR_NAME) != null;
// prepare junit
JUnitSystem system = new RealSystem();
JUnitCore core = new JUnitCore();
RunListener listener = underTC ? new TeamCityListener() : new TextListener(system);
core.addListener(listener);
int success = 0,
failures = 0,
ignores = 0;
// run tests
for (Class suite : suites) {
sayNothing();
String suiteName = suite.getSimpleName();
if (suiteName.endsWith("Tests")) suiteName = suiteName.substring(0, suiteName.length()-"Tests".length());
if (suiteName.endsWith("Integration")) suiteName = suiteName.substring(0, suiteName.length()-"Integration".length());
if (suiteParameter != null) suiteName = suiteName + '[' + suiteParameter + ']';
if (underTC) say("##teamcity[testSuiteStarted name='%s']", suiteName);
Result result = core.run(suite);
success += result.getRunCount() - (result.getFailureCount() + result.getIgnoreCount());
failures += result.getFailureCount();
ignores += result.getIgnoreCount();
if (underTC) say("##teamcity[testSuiteFinished name='%s']", suiteName);
sayNothing();
}
}