You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "simon cierniak (JIRA)" <ji...@apache.org> on 2018/04/20 16:04:00 UTC
[jira] [Comment Edited] (SUREFIRE-1517) Getting
ClassNotFoundException when filtering tests from a dependency jar
[ https://issues.apache.org/jira/browse/SUREFIRE-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445943#comment-16445943 ]
simon cierniak edited comment on SUREFIRE-1517 at 4/20/18 4:03 PM:
-------------------------------------------------------------------
{color:#333333}I found a workaround by adding "Spec" after the *
mvn test -Dtest=*/package2/ => throws exception
mvn test -Dtest=**/package2/*Spec => works
Simon{color}
was (Author: scierniak):
I found a workaround by adding "Spec" after the *
{color:#333333}mvn test -Dtest=**/package2/* => throws exception
{color}
{color:#ff0000}{color:#ff0000}{color:#333333}mvn test -Dtest=**/package2/*Spec => works{color}
{color}{color}
{color:#ff0000}{color:#ff0000}{color:#333333}Simon{color}{color}{color}
> Getting ClassNotFoundException when filtering tests from a dependency jar
> -------------------------------------------------------------------------
>
> Key: SUREFIRE-1517
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1517
> Project: Maven Surefire
> Issue Type: Bug
> Components: Maven Surefire Plugin
> Affects Versions: 2.21.0
> Environment: Windows
> Reporter: simon cierniak
> Priority: Minor
> Attachments: 2018-04-19T12-07-18_153-jvmRun1.dump
>
>
> The issue happens only when I am using tests from a test jar (using option dependenciesToScan) and when tests are not into a final package meaning having sub-package. FYI, I am executing Spock tests.
> To create my test jar, I followed doc [https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html]
>
> *+Structure+*
> {noformat}
> com.bug.package1.ASpec
> com.bug.package1.BSpec
> com.bug.package2.CSpec
> com.bug.package2.DSpec
> com.bug.package2.subpackage.C1Spec
> com.bug.package2.subpackage.C2Spec
> {noformat}
>
> +*Commands:*+
> mvn test -Dtest=***/*Spec* works : execute ASpec, BSpec, CSpec, DSpec, C1Spec and C2Spec
> mvn test -Dtest=ASpec works : execute ASpec
> mvn test -Dtest=***/package1/** works : execute ASpec and BSpec
> mvn test -Dtest=C1Spec works : execute C1Spec
> mvn test -Dtest=***/package2/subpackage/** works : execute C1Spec and C2Spec
> mvn test -Dtest=CSpec works : execute CSpec
> {color:#ff0000}mvn test -Dtest=***/package2/** fails with error: RuntimeException: Unable to create test class 'com.bug.package2.subpackage.' ... caused by: java.lang.ClassNotFoundException: com.bug.package2.subpackage.{color}
> {color:#ff0000}The tests executed should be CSpec and DSpec{color}
> same error when filtering by com/bug/***/**
>
> +*Pom.xml*+
> {noformat}
> <?xml version="1.0"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>com.bug</groupId>
> <artifactId>demo-execution</artifactId>
> <version>1.0-SNAPSHOT</version>
> <packaging>jar</packaging>
> <name>Test Bug</name>
> <properties>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> <groovy.version>2.4.5</groovy.version>
> <spock.version>1.0-groovy-2.4</spock.version>
> <skipTests>false</skipTests>
> <SpockTests>**/*Spec.java</SpockTests>
> <server.url/>
> <junit.groups/>
> <junit.excludedGroups/>
>
> <junit.version>4.11</junit.version>
> <geb.version>1.1.1</geb.version>
> <surefire.version>2.21.0</surefire.version>
> </properties>
> <build>
> <plugins>
>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-surefire-plugin</artifactId>
> <version>${surefire.version}</version>
> <dependencies>
> <dependency>
> <groupId>org.apache.maven.surefire</groupId>
> <artifactId>surefire-junit47</artifactId>
> <version>${surefire.version}</version>
> </dependency>
> </dependencies>
> <configuration>
> <skip>${skipTests}</skip>
> <testFailureIgnore>true</testFailureIgnore>
> <failIfNoTests>false</failIfNoTests>
> <redirectTestOutputToFile>true</redirectTestOutputToFile>
> <printSummary>true</printSummary>
> <dependenciesToScan>
> <dependency>com.bug:demo-tests</dependency>
> </dependenciesToScan>
> <includes>
> <!-- Include for Geb/Spock tests -->
> <include>${SpockTests}</include>
> </includes>
>
> <!-- IncludeExclude JUnit categories -->
> <!-- https://github.com/junit-team/junit4/wiki/Categories -->
> <groups>${junit.groups}</groups>
> <excludedGroups>${junit.excludedGroups}</excludedGroups>
> </configuration>
> </plugin>
> </plugins>
> </build>
> <dependencies>
> <dependency>
> <groupId>com.bug</groupId>
> <artifactId>demo-tests</artifactId>
> <version>1.0</version>
> </dependency>
> </dependencies>
> </project>
> {noformat}
>
> I tested also with version 2.20.1 and 2.19.1 and got same errors.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)