gpt4 book ai didi

junit - 如何使用Gradle运行ScalaTest和JUnit测试?

转载 作者:行者123 更新时间:2023-12-03 20:25:03 40 4
gpt4 key购买 nike

我有一个包含JUnit和ScalaTest测试的Java / Scala混合项目。使用scalatest plugin时,Gradle在src/test/scala中运行ScalaTest测试,但忽略src/test/java中的JUnit测试。如果没有插件,Gradle将运行JUnit测试,但会忽略Scala。我想念什么技巧?

我的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:我知道可以注释Scala测试以强制它们与JUnit测试运行程序一起运行。我正在寻找一种一站式的 build.gradle解决方案,该解决方案不需要编辑每个测试文件(或将测试弄乱以解决构建系统中的限制)。

最佳答案

与JUnit运行(以及按注释中的建议创建Ant任务)的另一种方法是-创建一个直接运行ScalaTest的Runner的任务:

task scalaTest(dependsOn: ['testClasses'], type: JavaExec) {
main = 'org.scalatest.tools.Runner'
args = ['-R', 'build/classes/test', '-o']
classpath = sourceSets.test.runtimeClasspath
}

test.dependsOn scalaTest // so that running "test" would run this first, then the JUnit tests

关于junit - 如何使用Gradle运行ScalaTest和JUnit测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592343/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com