Hallo Leute!
Ich kämpfe nach wie vor mit maven, builden und dokumentation fabrizieren klappt schon wunderbar, an den ScalaTests hackt's aber noch.
A) Frage: hat das je einer vernünftig zum Laufen gebracht? Könntet ihr dann bitte einfach die vollständige POM posten, vielleicht find ich dann schon selbst, in welchem Detail der Teufel steckt.
Ansonsten:
B) Frage: Immerhin habe ich folgendes Beispiel halbwegs zum Laufen gebracht:
mit der folgenden pom:
An dieser .pom prügle ich schon seit einem halben Tag mehr oder weniger planlos herum, und versuche alle möglichen Tipps aus allen möglichen Google-Treffern zu berücksichtigen. Immerhin tut sich bei mvn test etwas:
Das sieht aber überhaupt nicht so aus, wie das, was auf der ScalaTest-Website versprochen wurde:
Ich meine jetzt nicht die konkreten test-namen, und auch nicht die bunten Farben, sondern die Tatsache, dass es bei mir nicht die einzelnen Tests stichpunktartig aufzählt, sondern stattdessen irgendwelche monströsen und völlig überflüssigen Fehlermeldungen in die Konsole auskotzt :wuerg:
Wie stelle ich das ab, bzw wie konfiguriere ich das korrekt?
Falls es einer sehen will:
Vielen Dank im Voraus.
Ich kämpfe nach wie vor mit maven, builden und dokumentation fabrizieren klappt schon wunderbar, an den ScalaTests hackt's aber noch.
A) Frage: hat das je einer vernünftig zum Laufen gebracht? Könntet ihr dann bitte einfach die vollständige POM posten, vielleicht find ich dann schon selbst, in welchem Detail der Teufel steckt.
Ansonsten:
B) Frage: Immerhin habe ich folgendes Beispiel halbwegs zum Laufen gebracht:
Code:
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class FooSuite extends FunSuite{
test("bar"){
assert((2 + 2) === 4)
}
test("baz"){
assert("dlrow olleh".reverse === "hello world")
}
test("AAARGH!"){
assert("FFFFFFFFFUUUUUUUUUUU" === "Problem? ;)")
}
}
Code:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.trolololololo</groupId>
<artifactId>oclTraining</artifactId>
<version>1.0</version>
<name>${project.artifactId}</name>
<description>OpenCL + Scala training</description>
<inceptionYear>2011</inceptionYear>
<licenses>
<license>
<name>My License</name>
<url>http://....</url>
<distribution>repo</distribution>
</license>
</licenses>
<properties>
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
<encoding>UTF-8</encoding>
<scala.version>2.9.0</scala.version>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<!-- necessary for compilation of scala code -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<!-- necessary for testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<!-- or maybe not that necessary...
<dependency>
<groupId>org.scala-tools.testing</groupId>
<artifactId>specs_2.9.0</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
-->
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.9.0</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
<!-- openCl bindings -->
<dependency>
<groupId>org.jocl</groupId>
<artifactId>jocl</artifactId>
<version>0.1.5</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-make:transitive</arg>
<arg>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
<arg>-deprecation</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<useFile>false</useFile>
<disableXmlReport>true</disableXmlReport>
<!-- If you have classpath issue like NoDefClassError,... -->
<!-- useManifestOnlyJar>false</useManifestOnlyJar -->
<includes>
<include>**/*Test.*</include>
<include>**/*Suite.*</include>
<include>**/*Spec.*</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.0</version>
</plugin>
</plugins>
</reporting>
</project>
Code:
Running FooSuite
Tests run: 3, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.699 sec <<< FAILURE!
AAARGH!(FooSuite) Time elapsed: 0.01 sec <<< ERROR!
org.scalatest.TestFailedException: "[FFFFFFFFFUUUUUUUUUUU]" did not equal "[Problem? ;)]"
at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:318)
at FooSuite.newAssertionFailedException(FooSuite.scala:6)
at org.scalatest.Assertions$class.assert(Assertions.scala:401)
at FooSuite.assert(FooSuite.scala:6)
at FooSuite$$anonfun$3.apply$mcV$sp(FooSuite.scala:14)
at FooSuite$$anonfun$3.apply(FooSuite.scala:14)
at FooSuite$$anonfun$3.apply(FooSuite.scala:14)
at org.scalatest.FunSuite$$anon$1.apply(FunSuite.scala:1265)
at org.scalatest.Suite$class.withFixture(Suite.scala:1968)
at FooSuite.withFixture(FooSuite.scala:6)
at org.scalatest.FunSuite$class.invokeWithFixture$1(FunSuite.scala:1262)
at org.scalatest.FunSuite$$anonfun$runTest$1.apply(FunSuite.scala:1271)
at org.scalatest.FunSuite$$anonfun$runTest$1.apply(FunSuite.scala:1271)
at org.scalatest.SuperEngine.runTestImpl(Engine.scala:168)
at org.scalatest.FunSuite$class.runTest(FunSuite.scala:1271)
at FooSuite.runTest(FooSuite.scala:6)
at org.scalatest.FunSuite$$anonfun$runTests$1.apply(FunSuite.scala:1304)
at org.scalatest.FunSuite$$anonfun$runTests$1.apply(FunSuite.scala:1304)
at org.scalatest.SuperEngine$$anonfun$org$scalatest$SuperEngine$$runTestsInBranch$1.apply(Engine.scala:226)
at org.scalatest.SuperEngine$$anonfun$org$scalatest$SuperEngine$$runTestsInBranch$1.apply(Engine.scala:215)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:215)
at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:282)
at org.scalatest.FunSuite$class.runTests(FunSuite.scala:1304)
at FooSuite.runTests(FooSuite.scala:6)
at org.scalatest.Suite$class.run(Suite.scala:2286)
at FooSuite.org$scalatest$FunSuite$$super$run(FooSuite.scala:6)
at org.scalatest.FunSuite$$anonfun$run$1.apply(FunSuite.scala:1310)
at org.scalatest.FunSuite$$anonfun$run$1.apply(FunSuite.scala:1310)
at org.scalatest.SuperEngine.runImpl(Engine.scala:318)
at org.scalatest.FunSuite$class.run(FunSuite.scala:1310)
at FooSuite.run(FooSuite.scala:6)
at org.scalatest.junit.JUnitRunner.run(JUnitRunner.scala:94)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Results :
Tests in error:
AAARGH!(FooSuite)
Tests run: 3, Failures: 0, Errors: 1, Skipped: 0
Code:
$ scala -cp scalatest-1.5.jar org.scalatest.tools.Runner -p . -o -s ExampleSuite
Run starting. Expected test count is: 2
ExampleSuite:
- pop is invoked on a non-empty stack
- pop is invoked on an empty stack
Run completed in 73 milliseconds.
Total number of tests run: 2
Suites: completed 1, aborted 0
Tests: succeeded 2, failed 0, ignored 0, pending 0
All tests passed.
Wie stelle ich das ab, bzw wie konfiguriere ich das korrekt?
Falls es einer sehen will:
Code:
C:\Users\Andrey\Desktop\maven projects\oclTraining>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: C:\Program Files\Maven303\apache-maven-3.0.3
Java version: 1.7.0, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
C:\Users\Andrey\Desktop\maven projects\oclTraining>java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode, sharing)
Vielen Dank im Voraus.
Zuletzt bearbeitet: