Mam mieszany projekt Java/Scala z testami JUnit i ScalaTest. Z scalatest plugin, Gradle uruchamia testy ScalaTest w src/test/scala
, ale ignoruje testy JUnit w src/test/java
. Bez wtyczki Gradle uruchamia testy JUnit, ale ignoruje Scalę. Jakiej sztuczki mi brakuje?Jak uruchomić oba testy ScalaTest i JUnit z Gradle?
My build.gradle
:
plugins {
id 'java'
id 'maven'
id 'scala'
id "com.github.maiflai.scalatest" version "0.6-5-g9065d91"
}
sourceCompatibility = 1.8
group = 'org.chrononaut'
version = '1.0-SNAPSHOT'
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
ext {
scalaMajorVersion = '2.11'
scalaVersion = "${scalaMajorVersion}.5"
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile "org.scala-lang:scala-library:${scalaVersion}"
compile "org.scala-lang.modules:scala-xml_${scalaMajorVersion}:1.0.3"
compile 'com.google.guava:guava:18.0'
compile 'javax.xml.bind:jaxb-api:2.2.12'
compile 'jaxen:jaxen:1.1.6'
compile 'joda-time:joda-time:2.7'
compile 'org.joda:joda-convert:1.7'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'org.jdom:jdom2:2.0.5'
testCompile 'junit:junit:4.12'
testCompile 'org.easytesting:fest-assert:1.4'
testCompile 'org.mockito:mockito-core:1.10.19'
testCompile "org.scalatest:scalatest_${scalaMajorVersion}:2.2.4"
testRuntime 'org.pegdown:pegdown:1.1.0' // required by scalatest plugin
}
compileScala {
scalaCompileOptions.additionalParameters = [
"-feature",
"-language:reflectiveCalls", // used for config structural typing
"-language:postfixOps"
]
}
ETA: wiem, że to możliwe opisywanie Scala testuje zmusić je do pracy z prowadnicą testu JUnit. Szukam rozwiązania typu one-stop build.gradle
, które nie wymaga edycji każdego pliku testowego (lub mieszania się z testami w celu obejścia ograniczeń w systemie kompilacji, ogólnie).
Co się dzieje, jeśli usunąć com.github. maiflai.scalatest i co to naprawia? – judoole
Jeśli usuniemy com.github.maiflai.scalatest, testy Scala nie zostaną uruchomione, tylko te JUnit (zobacz oryginalny post). –
Może, jeśli rzucisz się na to, aby ScalaTests działał z Gradle: @RunWith (classOf [org.scalatest.junit.JUnitRunner]) – judoole