Search code examples
htmlunit-testingscalareportingscalatest

Scalatest html reports


I'm trying to get an html report of the scalatest and I've found a lot of configurations like this:

<plugin>                                                                                
    <groupId>org.scalatest</groupId>                                                    
    <artifactId>scalatest-maven-plugin</artifactId>                                     
    <version>1.0-M2</version>                                                           
    <configuration>                                                                     
        <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
        <testFailureIgnore>true</testFailureIgnore>                                     
        <filereports>NCXEHLOWFD file/constrained.txt,file/full.txt</filereports>        
        <xmlreports>xml</xmlreports>                                                    
        <htmlreports>html/report.html</htmlreports>                                     
    </configuration>                                                                    
    <executions>                                                                        
        <execution>                                                                     
            <id>test</id>                                                               
            <goals>                                                                     
                <goal>test</goal>                                                       
            </goals>                                                                    
        </execution>                                                                    
    </executions>                                                                       
</plugin>  

But IntelliJ tells me that xmlreports and htmlreports are not allowed, and no xml or html reports are generated.

Can anyone suggest anything? I'll be very thankful


Solution

  • You need to use the latest plugin version currently available 1.0-M4-SNAP1 instead of 1.0-M2 which doesn't have htmlreports property. Here are important part from my pom.xml:

    <project>
        <properties>
            <scala.version>2.9.3</scala.version>
            <scalatest.version>2.0.M5b</scalatest.version>
            <scalatest.plugin.version>1.0-M4-SNAP1</scalatest.plugin.version>
        </properties>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.scalatest</groupId>
                    <artifactId>scalatest-maven-plugin</artifactId>
                    <version>${scalatest.plugin.version}</version>
                    <configuration>
                        <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                        <junitxml>.</junitxml>
                        <filereports>WDF TestSuite.txt</filereports>
                        <htmlreporters>${project.build.directory}/html/scalatest</htmlreporters>
                        <testFailureIgnore>false</testFailureIgnore>
                    </configuration>
                    <executions>
                        <execution>
                            <id>test</id>
                            <goals>
                                <goal>test</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
        <dependencies>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_${scala.version}</artifactId>
                <version>${scalatest.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- required by scalatest-maven-plugin to generate HTML report -->
            <dependency>
                <groupId>org.pegdown</groupId>
                <artifactId>pegdown</artifactId>
                <version>1.2.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>
    

    With this setting I can run mvn clean install and it will produce nice HTML report under ${project.build.directory}/html/scalatest