private static void _assertClassDataCoverage( List<AssertionError> assertionErrors, Class<?> clazz, ClassData classData) { if (clazz.isInterface() || clazz.isSynthetic()) { return; } if (classData == null) { assertionErrors.add(new AssertionError("Class " + clazz.getName() + " has no coverage data")); return; } if ((classData.getBranchCoverageRate() != 1.0) || (classData.getLineCoverageRate() != 1.0)) { System.out.printf( "%n[Cobertura] %s is not fully covered.%n[Cobertura]Branch " + "coverage rate : %.2f, line coverage rate : %.2f.%n" + "[Cobertura]Please rerun test with -Djunit.code." + "coverage=true to see coverage report.%n", classData.getName(), classData.getBranchCoverageRate(), classData.getLineCoverageRate()); Set<CoverageData> coverageDatas = classData.getLines(); for (CoverageData coverageData : coverageDatas) { if (!(coverageData instanceof LineData)) { continue; } LineData lineData = (LineData) coverageData; if (lineData.isCovered()) { continue; } System.out.printf( "[Cobertura] %s line %d is not covered %n", classData.getName(), lineData.getLineNumber()); } assertionErrors.add(new AssertionError(classData.getName() + " is not fully covered")); return; } System.out.printf("[Cobertura] %s is fully covered.%n", classData.getName()); }
private void dumpMethod(ClassData classData, String nameAndSig) { String name = nameAndSig.substring(0, nameAndSig.indexOf('(')); String signature = nameAndSig.substring(nameAndSig.indexOf('(')); double lineRate = classData.getLineCoverageRate(nameAndSig); double branchRate = classData.getBranchCoverageRate(nameAndSig); println( "<method name=\"" + xmlEscape(name) + "\" signature=\"" + xmlEscape(signature) + "\" line-rate=\"" + lineRate + "\" branch-rate=\"" + branchRate + "\">"); increaseIndentation(); dumpLines(classData, nameAndSig); decreaseIndentation(); println("</method>"); }
private void dumpClass(ClassData classData) { logger.debug("Dumping class " + classData.getName()); println( "<class name=\"" + classData.getName() + "\" filename=\"" + classData.getSourceFileName() + "\" line-rate=\"" + classData.getLineCoverageRate() + "\" branch-rate=\"" + classData.getBranchCoverageRate() + "\" complexity=\"" + complexity.getCCNForClass(classData) + "\"" + ">"); increaseIndentation(); dumpMethods(classData); dumpLines(classData); decreaseIndentation(); println("</class>"); }