package org.test4j.spec.printer; import org.test4j.spec.ISpec; import org.test4j.spec.exceptions.SkipStepException; import org.test4j.spec.inner.IScenario; import org.test4j.spec.inner.IScenarioStep; /** * 将测试场景运行结果打印到控制台上 * * @author darui.wudr */ public class ConsolePrinter extends AbstractPrinter { String title; @Override public void printSummary(Class<? extends ISpec> spec) { } @Override protected void printHeader(ISpec spec, IScenario scenario) { System.out.print("\n\n"); StringBuffer buff = new StringBuffer(); buff.append("Scenario-").append(String.format("%02d", scenario.getIndex())).append(": ") .append(scenario.getName()); this.title = buff.toString(); System.out.println("====================" + "Begin " + title + "===================="); } protected void printTailer(ISpec spec, IScenario scenario) { System.out.println("====================" + "End " + title + "===================="); } @Override protected void printStep(IScenarioStep step) { StringBuffer buff = new StringBuffer("* "); if (step.isSuspend()) { buff.append("SUSPEND "); } else if (step.isSuccess()) { buff.append("SUCCESS "); } else { buff.append("FAILURE "); } buff.append(step.getType().name()).append("\t: ").append(step.getMethod()); System.out.println(buff.toString()); if (step.isSuccess() == false) { Throwable e = step.getError(); if (e != null && !(e instanceof SkipStepException)) { buff.append("\n\t").append(e.getMessage()); } System.err.println(buff.toString()); } } }