Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven is not finding scala tests

I have a scala test class but when I attempt to run using the Maven goal 'test' the tests are not being run. I receive the Maven message "There are no tests to run." even though the tests are located in the scala test class. Do I need to add extra configuration ?

Here is my package setup :

enter image description here

Here is the output of the Maven "test" goal when run against the pom file :

[INFO] Scanning for projects... [INFO]
[INFO] ------------------------------------------------------------------------ [INFO] Building scala.maven.test 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ scala.maven.test --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-scala-plugin:2.9.1:add-source (scala-compile-first) @ scala.maven.test --- [INFO] Add Source directory: C:\workspaces\29112012\scala.maven.test\src\main\scala [INFO] Add Test Source directory: C:\workspaces\29112012\scala.maven.test\src\test\scala [INFO] [INFO] --- maven-scala-plugin:2.9.1:compile (scala-compile-first) @ scala.maven.test --- [ERROR] C:\workspaces\29112012\scala.maven.test\src\main\java [ERROR] C:\workspaces\29112012\scala.maven.test\src\main\scala [ERROR] C:\workspaces\29112012\scala.maven.test\src\test\scala [INFO] Compiling 2 source files to C:\workspaces\29112012\scala.maven.test\target\classes [INFO] [INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ scala.maven.test --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-compiler-plugin:2.0.2:compile (default) @ scala.maven.test --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ scala.maven.test --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-scala-plugin:2.9.1:testCompile (scala-test-compile) @ scala.maven.test --- [ERROR] C:\workspaces\29112012\scala.maven.test\src\test\java [ERROR] C:\workspaces\29112012\scala.maven.test\src\test\java..\scala [INFO] Compiling 1 source files to C:\workspaces\29112012\scala.maven.test\target\test-classes [INFO] [INFO] --- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) @ scala.maven.test --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.7.1:test (default-test) @ scala.maven.test --- [INFO] Surefire report directory: C:\workspaces\29112012\scala.maven.test\target\surefire-reports

------------------------------------------------------- T E S T S ------------------------------------------------------- There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.354s [INFO] Finished at: Fri Nov 30 16:57:05 GMT

2012 [INFO] Final Memory: 7M/17M [INFO]

Here is my pom.xml :

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>scala.maven.test</groupId>
  <artifactId>scala.maven.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <version>2.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                </plugin>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.scala-tools
                                        </groupId>
                                        <artifactId>
                                            maven-scala-plugin
                                        </artifactId>
                                        <versionRange>
                                            [2.9.1,)
                                        </versionRange>
                                        <goals>
                                            <goal>add-source</goal>
                                            <goal>compile</goal>
                                            <goal>testCompile</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <executions>
                    <execution>
                        <id>scala-compile-first</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>                                    
                    <execution>
                        <id>scala-test-compile</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

<dependencies>
  <dependency>
    <groupId>org.scalatest</groupId>
    <artifactId>scalatest_2.9.0-1</artifactId>
    <version>2.0.M5</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
</dependencies>



</project>
like image 799
blue-sky Avatar asked Nov 30 '12 17:11

blue-sky


1 Answers

Even though this is a very late reply, but I wrote it hoping that someone might get benefitted from it in case their scala unit test are not getting discovered. One of the major and silent culprit is the absolute path to the test classes. If there is a space in the name of any directory on the path, scalatest won't pick it up. Rename such directories for successful running of unit tests.

like image 155
Bhaswat Avatar answered Oct 25 '22 14:10

Bhaswat