2012-10-10 4 views
7

入門しますテストは正常に実行されます。スカラの最新バージョン(2.9.2をダウンロード/インストールしました...)を使用したいと思いますが、most recent version of the org.scala-tools.testing scala_VERSION dependency seems to be 2.9.1です。私はおそらくによって作成可能な限り最も簡単なテスト(サンプルのいくつかを持っては、私は次のようで新しいScalaのプロジェクトを作成しスカラ座、Scalatest、とMaven

------------------------------------------------------- 
    T E S T S 
------------------------------------------------------- 
Running samples.ListSuite 
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.674 sec <<< FAILURE! 
initializationError(samples.ListSuite) Time elapsed: 0.003 sec <<< ERROR! 
java.lang.ClassCastException: scala.collection.immutable.Set$EmptySet$ cannot be 
    cast to scala.collection.generic.Addable 
     at org.scalatest.FunSuite$class.test(FunSuite.scala:1039) 
     at samples.ListSuite.test(scalatest.scala:59) 
     at samples.ListSuite.<init>(scalatest.scala:61) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
     at java.lang.Class.newInstance0(Class.java:372) 
     at java.lang.Class.newInstance(Class.java:325) 
     at org.scalatest.junit.JUnitRunner.<init>(JUnitRunner.scala:62) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
     at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31) 
     at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
     at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24) 
     at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51) 
     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) 

Running samples.StackSuite 
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.12 sec 
Running samples.AppTest 
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec 

Results : 

Tests in error: 
    initializationError(samples.ListSuite) 

Tests run: 4, Failures: 0, Errors: 1, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.880s 
[INFO] Finished at: Wed Oct 10 01:10:56 ADT 2012 
[INFO] Final Memory: 9M/112M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.6:test (default-test) on project myProject: There are test failures. 
[ERROR] 
[ERROR] Please refer to C:\Dropbox\work\dev\scalasandbox\target\surefire-reports for the individual test results. 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

mvn testを与えて実行し、

<scala.version>2.9.1</scala.version> 

と今

<dependency> 
     <groupId>org.scala-tools.testing</groupId> 
     <artifactId>specs_${scala.version}</artifactId> 
     <version>1.6.5</version> 
     <scope>test</scope> 
    </dependency> 

:私は私のPOMに次の変更を加えましたMaven Archetype Plugin)、単一のマイナーバージョンでスカラをバンプすることはそれを壊していますか? mavenのツールが追いつくまで、私はscala 2.8を付けるべきですか?

+1

あなたがテストを実行する前に、きれいにしましたか?バイナリの非互換性のように見えます。 –

+0

はい。 'mvn clean'は役に立たなかった。 – MrDrews

答えて

13

あなたのアーティファクトは古くなっています。

最新のScalaは2.10です。現在、ScalaTestは異なるgroupidで配布されており、Scalaの最新バージョンをサポートしています。ここdependecyです:あなたはすべてのそれらの成果物は、中央リポジトリで配布されているので、任意のリポジトリを指定する必要はありません

<plugin> 
    <groupId>net.alchim31.maven</groupId> 
    <artifactId>scala-maven-plugin</artifactId> 
    <version>3.1.0</version> 
    <executions> 
     <execution> 
     <phase>compile</phase> 
     <goals> 
      <goal>compile</goal> 
      <goal>testCompile</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

<dependency> 
    <groupId>org.scalatest</groupId> 
    <artifactId>scalatest_2.10</artifactId> 
    <version>2.0.M5b</version> 
    <scope>test</scope> 
</dependency> 

あなたはまた、別のプラグインが必要になります。

Here's an example of a complete pom of a project depending on the Scala 2.10

+0

maven-archetype-pluginによって生成されたテストは、2.10.0-M7で 'mvn compile 'されません。答えは "maven-archetype-pluginを使わないでください"と思います。 Scala(tools/libs)は下位互換性が一般的でないようですが、私は落胆しています。 – MrDrews

+0

。誰もアーキタイプを使用しません。率直にも私はMavenのアーキタイプ生成が冗長で混乱していることが分かりました。 –

+0

私はあなたのsormプロジェクトをクローンしましたが、それはコンパイルされませんでした(私はあなたのsext依存関係がありません)。とにかく私は2.8に固執すると思います。私は、ScalaのProgramming in 2.8を使っています。 – MrDrews

関連する問題