下面的自定义格式化程序将给出所有步骤都已通过的功能文件列表,以及任何步骤失败的功能文件列表。根据需要用空方法实现其他方法。将此添加到插件选项中的runner。
public class SuccessCounter implements Reporter, Formatter {
private List<Feature> allScenarioPassedFeature;
private List<Feature> anyScenarioFailedFeature;
private boolean stepFailed;
private Feature feature;
public SuccessCounter() {
allScenarioPassedFeature = new ArrayList<Feature>();
anyScenarioFailedFeature = new ArrayList<Feature>();
}
@Override
public void result(Result arg0) {
if(stepFailed==false && arg0.getStatus() != Result.PASSED)
stepFailed = true;
}
@Override
public void close() {
System.out.println("COUNTS");
System.out.println("Passed - " + allScenarioPassedFeature.size());
System.out.println("Failed - "+anyScenarioFailedFeature.size());
}
@Override
public void eof() {
if(stepFailed)
anyScenarioFailedFeature.add(feature);
else
allScenarioPassedFeature.add(feature);
}
@Override
public void feature(Feature arg0) {
stepFailed = false;
this.feature = arg0;
}
}