यदि आप केवल स्कैला से जावा कोड का परीक्षण करना चाहते हैं तो इस तरह के एक मैवेन प्रोजेक्ट को स्थापित करना काफी आसान है। चूंकि मैं ग्रहणकर्ता नहीं हूं, मुझे यकीन नहीं है कि यह ग्रहण के साथ कैसे काम करता है। मैंने इंटेलिजे के साथ परीक्षण किया है और यह बहुत अच्छी तरह से काम करता है। ग्रहण के साथ कोई समस्या नहीं होनी चाहिए।
मैंने एक साधारण pom.xml
बनाया है जो परीक्षण के लिए स्कैला कंपाइलर का उपयोग करता है और मुख्य जावा कोड के लिए सामान्य जावा कंपाइलर का उपयोग करता है।
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow.Q13379591</groupId>
<artifactId>Q13379591</artifactId>
<version>1.0-SNAPSHOT</version>
<name>${project.artifactId}-${project.version}</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<scala.version>2.9.2</scala.version>
</properties>
<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>2.0.M4</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<id>scala-test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<args>
<arg>-g:vars</arg>
<arg>-make:transitive</arg>
<arg>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
</args>
</configuration>
</plugin>
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0-M2</version>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>WDF TestSuite.txt</filereports>
<stdout>W</stdout> <!-- Skip coloring output -->
</configuration>
<executions>
<execution>
<id>scala-test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
अब यहाँ एक सरल जावा वर्ग है कि मैं परीक्षण करना चाहते हैं:
src/main/java/com/stackoverflow/Hello.java
package com.stackoverflow;
/**
* @author maba, 2012-11-14
*/
public interface Hello {
String hello();
}
src/main/java/com/stackoverflow/HelloJava.java
package com.stackoverflow;
/**
* @author maba, 2012-11-14
*/
public class HelloJava implements Hello {
public String hello() {
return "Hello Java";
}
}
और अंततः स्कैलाटेस्ट टेस्ट क्लास।
src/test/scala/com/stackoverflow/HelloJavaTest.scala
package com.stackoverflow
import org.scalatest.FlatSpec
/**
* @author maba, 2012-11-14
*/
class HelloJavaTest extends FlatSpec {
"HelloJava" should "be instance of Hello" in {
val hello = new HelloJava
val result = hello match {
case f:Hello => true
}
assert(result)
}
it should "say Hello Java" in {
val helloJava = new HelloJava
assert(helloJava.hello === "Hello Java")
}
}
अब आप इस आदेश के साथ चला सकते हैं:
mvn test
मैं सिर्फ सही कर सकते हैं इंटेलीजे में परीक्षण का मामला पर क्लिक करें और परीक्षण चलाते हैं। यह ग्रहण में भी संभव होना चाहिए।
क्या इसका मतलब है कि मुझे अपनी ग्रहण जावा परियोजना को बदलने की ज़रूरत है? कृपया प्रश्न संपादित करें देखें। – user701254
यदि आप मेवेन के बिना स्कैला कंपाइलर का उपयोग करते हैं, तो संकलन में शामिल होना ग्रहण में काम करना चाहिए। –