@Override public boolean shouldDecorateResource(Resource resource) { return !ResourceUtils.isUnitTestClass(resource); } }
private Resource getResource(ISourceFileCoverage coverage, SensorContext context) { String fileRelativePath = coverage.getPackageName() + "/" + coverage.getName(); // Only take into account scala files // Java files will be analyzed by jacoco sensor itself. if (fileRelativePath.endsWith(".scala")) { Resource resourceInContext = getResource(fileRelativePath, context); if (resourceInContext != null && ResourceUtils.isUnitTestClass(resourceInContext)) { // Ignore unit tests return null; } return resourceInContext; } return null; }
@Override public void checkResource(Resource resource, DecoratorContext context, RuleKey ruleKey, ResourcePerspectives perspectives) { double skippedTests = MeasureUtils.getValue(context.getMeasure(CoreMetrics.SKIPPED_TESTS), 0.0); if (ResourceUtils.isUnitTestClass(resource) && skippedTests > 0) { createIssue(resource, ruleKey, skippedTests, perspectives); } }
@Override public void checkResource(Resource resource, DecoratorContext context, RuleKey ruleKey, ResourcePerspectives perspectives) { double testErrors = MeasureUtils.getValue(context.getMeasure(CoreMetrics.TEST_ERRORS), 0.0); double testFailures = MeasureUtils.getValue(context.getMeasure(CoreMetrics.TEST_FAILURES), 0.0); double testFailuresAndErrors = testErrors + testFailures; if (ResourceUtils.isUnitTestClass(resource) && testFailuresAndErrors > 0) { createIssue(resource, ruleKey, testFailuresAndErrors, perspectives); } }
private Resource getResource(ISourceFileCoverage coverage, SensorContext context) { String className = fullyQualifiedClassName(coverage.getPackageName(), coverage.getName()); Resource resourceInContext = context.getResource(javaResourceLocator.findResourceByClassName(className)); if (resourceInContext == null) { // Do not save measures on resource which doesn't exist in the context return null; } if (ResourceUtils.isUnitTestClass(resourceInContext)) { // Ignore unit tests return null; } return resourceInContext; }
private Resource getResource(ISourceFileCoverage coverage, SensorContext context) { String className = fullyQualifiedClassName(coverage.getPackageName(), coverage.getName()); Resource resourceInContext = context.getResource(javaResourceLocator.findResourceByClassName(className)); if (resourceInContext == null) { // Do not save measures on resource which doesn't exist in the context return null; } if (ResourceUtils.isUnitTestClass(resourceInContext)) { // Ignore unit tests return null; } return resourceInContext; }
@SuppressWarnings("rawtypes") @Override public void checkResource(Resource resource, DecoratorContext context, org.sonar.api.rules.Rule rule) { double skippedTests = MeasureUtils.getValue(context.getMeasure(CoreMetrics.SKIPPED_TESTS), 0.0); if (ResourceUtils.isUnitTestClass(resource) && skippedTests > 0) { Violation violation = Violation.create(rule, resource).setCost(skippedTests); violation.setMessage("Some tests are skipped. You should activate them or remove them."); context.saveViolation(violation); } }
/** * Collect measures. * * @param reportXml * the report xml * @throws FileNotFoundException * the file not found exception * @throws ParseException * the parse exception */ protected void collectMeasures(File reportXml) throws FileNotFoundException, ParseException { MetricsNode metricsNode = getMetrics(reportXml); List<FileNode> files = metricsNode.getFiles(); for (FileNode fileNode : files) { String fileName = fileNode.getFileName(); PhpFile currentResourceFile = PhpFile.getInstance(project).fromAbsolutePath(fileName, project); if (currentResourceFile != null) { if (measureUnitTests || !ResourceUtils.isUnitTestClass(currentResourceFile)) { collectFileMeasures(fileNode, currentResourceFile); } } else { LOG.warn("The following file doesn't belong to current project sources or tests : " + fileName); } } saveMeasures(); }
@SuppressWarnings("rawtypes") @Override public void checkResource(Resource resource, DecoratorContext context, org.sonar.api.rules.Rule rule) { double testErrors = MeasureUtils.getValue(context.getMeasure(CoreMetrics.TEST_ERRORS), 0.0); double testFailures = MeasureUtils.getValue(context.getMeasure(CoreMetrics.TEST_FAILURES), 0.0); double testFailuresAndErrors = testErrors + testFailures; if (ResourceUtils.isUnitTestClass(resource) && testFailuresAndErrors > 0) { Violation violation = Violation.create(rule, resource).setCost(testFailuresAndErrors); violation.setMessage("Some tests are not successful. You should fix them."); context.saveViolation(violation); } }
builder.setIsTest(ResourceUtils.isUnitTestClass(r));