Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 246
Uko Avatar asked Oct 17 '25 11:10

Uko


2 Answers

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

like image 170
rozky Avatar answered Oct 19 '25 01:10

rozky


enter image description here

@rozky's solution works for me but the css is awkward. It doesn't display the table correctly. It doesn't show me the suite name column in the table no matter what version of pegdown and scalatest-maven-plugin I use :/

like image 34
sparker Avatar answered Oct 19 '25 02:10

sparker