मुझे जुनीट और स्कैलास्ट परीक्षण दोनों के साथ मिश्रित जावा/स्कैला प्रोजेक्ट मिला है। scalatest plugin के साथ, ग्रैडल src/test/scala
में स्कैलाटेस्ट परीक्षण चलाता है, लेकिन src/test/java
में जुनीट परीक्षणों को अनदेखा करता है। प्लगइन के बिना, ग्रैडल जुनीट परीक्षण चलाता है लेकिन स्कैला को अनदेखा करता है। मुझे क्या चाल है?मैं ग्रैडल के साथ स्कैलास्ट और जुनीट परीक्षण दोनों कैसे चला सकता हूं?
मेरे 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"
]
}
ईटीए: मैं जानता हूँ कि यह स्काला JUnit परीक्षण धावक के साथ चलाने के लिए उन्हें मजबूर करने के लिए परीक्षण पर टिप्पणी करना संभव है। मैं एक-स्टॉप build.gradle
समाधान ढूंढ रहा हूं जिसके लिए प्रत्येक टेस्ट फ़ाइल को संपादित करने की आवश्यकता नहीं है (या सामान्य रूप से बिल्ड सिस्टम में सीमाओं को प्राप्त करने के लिए परीक्षणों के साथ गड़बड़ करना)।
अगर आप com.github को दूर तो क्या होता है। maiflai.scalatest और यह क्या ठीक करता है? – judoole
अगर मैं com.github.maiflai.scalatest को हटा देता हूं तो स्कैला परीक्षण नहीं चलते हैं, केवल जुनीट वाले (मूल पोस्ट देखें)। –
शायद यदि आप स्कालास्ट्स को ग्रैडल के साथ चलाने के लिए इस पर थप्पड़ मारते हैं: @RunWith (classOf [org.scalatest.junit.JUnitRunner]) – judoole