ing*_*nue 6 specs2 scalaz7 playframework-2.3
最近,specs2更新到版本2.4,现在使用scalaz 7.1而不是7.0.x. 一旦我在我的游戏中更新我的specs2依赖项!2.3项目使用版本2.4,所有测试都失败,但有以下异常:
[error] Uncaught exception when running ...Spec: java.lang.In
compatibleClassChangeError: Found class scalaz.syntax.FunctorOps, but interface
was expected
sbt.ForkMain$ForkError: Found class scalaz.syntax.FunctorOps, but interface was
expected
at org.specs2.specification.SpecificationStructure$.createSpecificationEither(BaseSpecification.scala:119)
at org.specs2.runner.SbtRunner.org$specs2$runner$SbtRunner$$specificationRun(SbtRunner.scala:73)
at org.specs2.runner.SbtRunner$$anonfun$newTask$1$$anon$5.execute(SbtRunner.scala:59)
at sbt.ForkMain$Run$2.call(ForkMain.java:294)
at sbt.ForkMain$Run$2.call(ForkMain.java:284)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
之前似乎没有人有这个错误.至少我无法在specs2和play项目的问题跟踪系统中找到它.
"com.typesafe.play" %% "play-test" % "2.3.3"取决于specs2 2.3.12,specs2 2.3.12取决于scalaz7.0.6
你可以/不应该一起使用它们.因为scalaz 7.0.6和7.1.0二进制不兼容.
如果你想一起使用play2和scalaz 7.1,我认为有一些解决方案
"play-test"依赖libraryDependencies ~= { _.filterNot(m => m.organization == "com.typesafe.play" && m.name == "play-test") }"play-test"使用scalaz 重建模块7.1 https://github.com/playframework/playframework/tree/2.3.3/framework/src/play-test/src/main/scala/play/api/test我使用此设置在Play 2.3.8中使用它.
"org.scalaz" %% "scalaz-core" % "7.1.1",
"com.typesafe.play" %% "play-test" % "2.3.8" % "test" excludeAll(
ExclusionRule(organization = "org.specs2")
),
"org.specs2" %% "specs2-core" % "3.5" % "test",
"org.specs2" %% "specs2-junit" % "3.5" % "test",
"org.specs2" %% "specs2-mock" % "3.5" % "test"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |