JUnit 5 runner for Scalatest
JUnit 5 runner library for ScalaTest tests. It can be used to fully integrate ScalaTest into Gradle (version >= 4.5) and to Maven.
There is an open issue to natively support JUnit 5 in ScalaTest without this library.
version >= 4.5
This library allows to run ScalaTest on the new JUnit Platform (JUnit 5)
To run ScalaTest on the old JUnit Vintage (JUnit 4) platform use the gradle-scalatest Gradle plugin.
gradle.properties
scala_lib_version=2.12
scala_version=2.12.10
junit_platform_version=1.6.0
build.gradle
plugins {
id 'scala'
}
repositories {
jcenter()
}
dependencies {
implementation "org.scala-lang:scala-library:$scala_version"
testImplementation "org.scalatest:scalatest_$scala_lib_version:3.2.0-M3"
testRuntime "org.junit.platform:junit-platform-engine:$junit_platform_version"
testRuntime "org.junit.platform:junit-platform-launcher:$junit_platform_version"
testRuntime "co.helmethair:scalatest-junit-runner:0.1.11"
}
test {
useJUnitPlatform {
includeEngines 'scalatest'
testLogging {
events("passed", "skipped", "failed")
}
}
}
See example Groovy Gradle project
build.gradle.kts
...
tasks {
test{
useJUnitPlatform {
includeEngines("scalatest")
testLogging {
events("passed", "skipped", "failed")
}
}
}
}
See example Kotlin DSL Gradle project
Surefire plugin version >= 2.22.0
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project ...
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
<scope>compile</scope>
</dependency>
<!-- junit 5 -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!-- scalatest -->
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.compat.version}</artifactId>
<version>${scalatest.version}</version>
<scope>test</scope>
</dependency>
<!-- scalatest junit 5 runner -->
<dependency>
<groupId>co.helmethair</groupId>
<artifactId>scalatest-junit-runner</artifactId>
<version>${scalatest.runner.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
</plugin>
...
</plugins>
</build>
</project>
Add the library to the classpath and run your test
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use semantic versioning.
This project is licensed under the MIT License - see the LICENSE for details