Scala maven + ScalaTest: unnötig verbose Fehlermeldungen?

0x7F800000

Top Contributor
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:
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? ;)")
  }
}
mit der folgenden pom:
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>
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:
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
Das sieht aber überhaupt nicht so aus, wie das, was auf der ScalaTest-Website versprochen wurde:
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.
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:
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:

Jay_030

Aktives Mitglied
Das liegt am verwendeten Runner. JUnit unterstützt nun mal nicht so einen Output. Durch den JUnitRunner laufen die ScalaTest Sachen zwar mit JUnit, aber natürlich entspricht der Output auch JUnit-Output. Der normale ScalaTest Runner erzeugt den "schönen" Output.

Aus Kompatibilitätsgründen verwende ich aber immer den JUnit Runner. Letztendlich interessiert mich bei Fehlern nur das "Warum" und nicht das "Wie hübsch ist es dargestellt". ;)

(Sollte ich Unfug zu den Runnern erzählt haben, bitte klarstellen. Bin auch noch neu bei ScalaTest.)
 

0x7F800000

Top Contributor
Hallo Landei...

Scala-Forum erscheint mir nach wie vor viel zu leer, wenn nicht sogar leerer als während der hype-Phase :bahnhof:, zumindest scheint dort auch kein mensch zu wissen, wie man solche Probleme löst:
Status of Maven with Scala
ScalaTest with Maven

Evtl. versuch ich's bei den bereits erwähnten google-groups, oder stack-overflow.

Was ich nicht verstehe: ich habe bei sowas stets das Gefühl, der einzige Idiot auf dem gesamten Planeten zu sein, bei dem das nicht funktioniert. Auf der Webseite von ScalaTest sieht man nur Zusicherungen, das sich das alles super toll mit maven vertragen würde, zusammen mit drei Wörtern zum eigentlichen Thema Maven (Angabe von version, group- und artifactId). Da fragt man sich unwillkürlich, was man denn verpasst hat, und wo sich das ultimative Tutorial findet, nach dem dann alle Probleme sich auf mirakulöse Art und Weise in Luft auflösen. ???:L

@Jay_030:

Ok, und wie sage ich dem Maven jetzt, dass er doch bitte den "ordenlichen Scala-Runner" verwenden soll? :rtfm: Oder führen diese ganzen "Kompatibilitätsgründe" letztendlich dazu, dass diese ganze monströse ScalaTest-Ölraffinerie lediglich ein Konsolen-Spielzeug ist, welches mit Maven einfach nicht funktioniert?

Danke schonmal!
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
Was passiert wenn du <useFile> auf true setzt?
Dann werden zumindest die fürchterlich langen und fast vollständig unnötigen stack traces in eine Text-Datei geschrieben, das ist in der Tat recht erfreulich, und macht das ganze schon wesentlich brauchbarer, danke! :toll:
Es ist aber stets "der falsche" Runner. :bahnhof:

Also, sagen wir's mal so: ich könnte natürlich fast schon damit leben, aber ich verstehe einfach nicht, warum diese ganze grandiose ölraffinerie erbaut wurde, wenn am Ende trotzdem nur solch verstümmelte Meldungen wie
Code:
Running FooSuite
Tests run: 3, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.242 sec <<< FAILURE!

Results :

Tests in error:
  AAARGH!(FooSuite)

Tests run: 3, Failures: 0, Errors: 1, Skipped: 0
rauskommen. Diese ganze Bibliothek sieht einfach nur nach so unverhältnismäßig viel Aufwand aus, und am ende schafft man es nichtmal, die durchgeführten Tests aufzulisten? :autsch:
 
Zuletzt bearbeitet:

Jay_030

Aktives Mitglied
Du musst das ja nicht mit dem Maven Surefire Plugin nutzen, sondern kannst auch SBT (oder Gradle) verwenden, wo dann der Output hübscher ist. Der JUnitRunner ist nun mal für die Kompatibilität mit JUnit da und erzeugt entsprechenden Output bzw. erzeugt den JUnit.
 

0x7F800000

Top Contributor
Ich glaub ich versuch mal irgendwie noch diesen Kram https://github.com/teigen/maven-scalatest-plugin/blob/master/README.textile da reinzufummeln, vielleicht läuft's ja damit besser als mit diesem "surefire", schließlich ist das spezielle für Scala gebaut... :bahnhof:

@Jay_030:

Zumindest auf der scala-webseite meine ich mehrmals gelesen zu haben, dass sie dort langfristig auf Maven setzen, und sbt deprecaten wollen. Gradle scheint nochmal eine Alternative zum maven zu sein, aber ehrlich gesagt wollte ich eigentlich auch mal dazu kommen irgendwas zu coden, statt sich den ganzen tag nur mit konfiguration von verschiedenen Build-Tools rumzuschlagen. Ich wäre eigentlich vollkommen glücklich gewesen, wenn man auf dieser Seite einfach nur eine aktuelle und funktionierende .pom veröffentlicht hätte. Ich möchte daher eigentlich nicht noch einen build-tool kennenlernen, bevor ich zumindest einmal gesehen habe, wie maven funktioniert.

Irgendwie muss es doch funktionieren: wie gesagt, diese riesen bibliothek ist ja wohl nicht dazu geschrieben, damit man am ende alles zu stinknormalen JUnit-Tests umbiegt.
 
Zuletzt bearbeitet:

Jay_030

Aktives Mitglied
SBT wird mit Sicherheit nicht deprecated. Es gab jetzt einen Cut zwischen 0.7 und 0.10, aber auch nur, weil intern vieles umgestoßen wurde und eine DSL für die Build-Konfiguration implementiert wurde.

Ergänzend zu dem Output, an dem du dich stößt: scalatest-users | Google Groups

Ich verstehe aber auch gar nicht, dass du dich daran so aufhältst. Dann ist der Output halt nicht schön, coden geht auch so.
 

0x7F800000

Top Contributor
Ergänzend zu dem Output, an dem du dich stößt: scalatest-users | Google Groups
Ja, genau dieses Plugin meine ich. Da sind positive Rückmeldungen dabei, ds gibt Hoffnung.
Ich verstehe aber auch gar nicht, dass du dich daran so aufhältst. Dann ist der Output halt nicht schön, coden geht auch so.
Ja, geht auch. Ich "halte" mich aber nicht wirklich daran auf, ich bin im Moment weder unter Zeitdruck, noch sonstwie unter Stress. Aber ich sehe einen Haufen Scala-Spezifische Runner die nicht rennen, und ein Ergebnis, welches mehr nach Work-Around aussieht. Ich will einfach nur verstehen, wozu die ganzen anderen Runner da sind, und wie man diese von maven aus startet. Das funktioniert hoffentlich mit dem maven-scalatest-plugin, das teste ich gleich. :)

Danke schonmal an alle!
 

0x7F800000

Top Contributor
Example: pom with maven-scalatest-plugin
Date: 05.10.2011. Note that this information should become deprecated within few days: scalatest-users | Google Groups

Since i've landed in top-10 google-hits for [c]"maven scalatest plugin"[/c] only by asking stupid questions about it, i want to describe the solution in detail. I hope that this can help other people, who are completely unexperienced with maven (like me).

Problem:
I wanted to use ScalaTest with Maven, but using Surefire-Plugin with [c]JUnitRunner[/c]s was not really satisfactory, because the output didn't look like what is shown here: ScalaTest. I wanted to run it with [c]org.scalatest.tools.Runner[/c].

Solution:
1) Download and Install maven-scalatest-plugin
This is a Maven-Plugin created by Jon-Anders Teigen, here is the github page:
https://github.com/teigen/maven-scalatest-plugin

1.1) make sure you have something like git installed (works perfectly for Windows too)
1.2) clone the maven-scalatest-plugin project from Teigen's repository: See "Building and Installing" for detailed instructions and repository adress. Note: Teigen himself advised to use Sean Griffin's Repository, but i tried it with Teigen's repository, and it seems to work well too.
1.3) build and install the plugin (maven does it almost automatically: it builds, packages and puts the plugin into your .m2 directory)

2) Modify your POM
Here is what my POM looks like now:
[XML]
<!-- scalatest + maven: an example of a working pom -->

<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.myproject</groupId>
<artifactId>myartifactid</artifactId>
<version>1.0</version>
<name>${project.artifactId}</name>
<description>blahblahblah</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>

<!-- IMPORTANT: add dependencies that are necessary for testing -->
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.9.0</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>

<!-- if you don't need junit, you can leave this dependency out, but maven will download it anyway
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
-->

</dependencies>

<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>

<!-- IMPORTANT: add this pluginManagement-tag to your POM -->
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jteigen</groupId>
<artifactId>maven-scalatest-plugin</artifactId>
<version>1.1-SNAPSHOT</version>
</plugin>
</plugins>
</pluginManagement>

<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>true</useFile>
<disableXmlReport>true</disableXmlReport>
<includes>
<include>**/*Test.*</include>
<include>**/*Suite.*</include>
<include>**/*Spec.*</include>
</includes>
<!-- IMPORTANT: if you want to deactivate tests run by surefire-plugin, add this tag: -->
<skipTests>true</skipTests>
</configuration>
</plugin>

<!-- IMPORTANT: this is the plugin we want to use -->
<plugin>
<groupId>com.jteigen</groupId>
<artifactId>maven-scalatest-plugin</artifactId>
<version>1.1-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<!-- this is the standard way to configure maven-plugins: by adding "configuration"-tag -->
<configuration>

<!-- tell the plugin where your test classes are: it cannot find them otherwise, for some reason o_O? -->
<runpath>target\test-classes</runpath>

<!-- if you want to specify a very concrete suite(s), add a <suites> tag and enumerate all suites with full names, separate them with commas -->
<!-- <suites>org.myproject.mytestpkg.FooSuite</suites> -->

<!-- this just finds all Suites in org-package of your test-classes -->
<wildcards>org</wildcards>

<!-- "W" means "Without color", it removes the broken ANSI-color-chars from the output -->
<stdout>W</stdout>

</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>
[/XML]
2.1) add tags from the Usage section on Teigen's project site.
2.2) make surefire plugin shut up
2.3) configure the plugin by adding a [c]<configuration>[/c] tag. Note: the configuration has nothing in common with configuration of surefire-plugin, it looks quite different.

You might want to read this, to understand what's going on here:
Maven: Guide to configuring Plug-Ins
Scaladoc for org.scalatest.tools.Runner$
Look at Specifying "members-only" and "wildcard" Suite paths-Part.
Source-Code and Documentation of maven-scalatest-plugin-Mojos
Note how child-tags in [c]<configuration>[/c] are mapped to names of member-variables of such "Mojo's".

3) Write some test-suites, save them in the right directory
Code:
package org.myproject.mytestpkg

import org.scalatest._

// FunSuite with named functions
class BarSuite extends FunSuite{
  test("bar"){
    assert((2 + 2) === 4)
  }
  test("baz"){
    assert("dlrow olleh".reverse === "hello world")
  }
}

4) Run tests
Code:
> mvn test
I hope it helps someone... :bahnhof:

PS: Mein Englisch stinkt, Korrekturvorschläge sind natürlich willkommen :autsch:
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
Wenn Du meinst, dass ein Beitrag der Art "Scala + Maven für totale Neulinge" vom allgemeinen Interesse ist, würd' ich's gerne schreiben, nur kann ich für die Qualität nicht unbedingt garantieren, weil ich selbst eben kein maven-profi bin, sondern gestern mindestens 6 stunden gebraucht habe, um bei diesen ganzen Plugins durchzublicken... Ich könnt's ja erstmal schreiben, und wenn's dir zu schräg ist, dann könntest du's ja wieder löschen ;) .
Wie sieht denn ein "Gastbeitrag" überhaupt aus, soll ich mich da als gast einloggen und den Beitrag als Antwort "auf irgendwas" posten, oder soll ich dir den text des Beitrags in einer PM schicken?
 
Zuletzt bearbeitet:

Landei

Top Contributor
Ich würde vorschlagen per PM. Müsste sonst erstmal nachschauen, wie ich Wordpress überzeuge, dich reinzulassen...
 

Neue Themen


Oben