Scalatestを使用してテストしたいScalaプログラム(Mavenを使用して構築)があります。scalatest - 以前のバージョンのScalaでコンパイルされたマクロを展開できません
error: can't expand macros compiled by previous versions of Scala
assert(true)
^
:我々は、我々のテストは、マクロ
assert()
で何かを実行すると、我々は次のエラーを取得するのScala 2.11.8とScalatest 3.0.1(私たちは無駄に3.0.3を試してみた)
を実行しています
これはtrue
を指していますが、問題はassert()
に記載されています。私たちのPOMはScalatestのための次の依存関係を持っています
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.11</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
我々が実行しようとしているコードは次のとおりです。
import org.scalatest.{FlatSpec, _}
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class Testing extends FlatSpec {
//test
var number = 0;
"An empty Set" should "have size 0" in {
assert(true)
}
}
ロトの人々のは、これはScalaの2.11を使用したが2.10の依存関係を含めの問題であると言いますしかし、私たちは2.11を使用しています。どんな助けでも大歓迎です。 Scala 2.10を使って試してみましたが、うまくいきました。
間違ったScalaバージョンのために_something_がコンパイルされているというメッセージが表示されています。完全なPOMを含めることができます。プロパティを使う代わりに明示的な '_2.11'を持たせることは、スカラのバージョンを切り替える際に誤って' _2.10'または '_2.12'を残す可能性が高い反パターンであることに注意してください。 –
ええ、実際には私はあなたがそれが何であるかを知っていたので、私が記入したプロパティを使用していた。私は以下の答えを試してみて、別の依存関係がそれを使用しているかどうかを調べるつもりです。残念なことに、私は仕事用のコンピュータを週末に仕事場に残しました。 2.10への参照はありませんが、POMに2.12があるかもしれません。 – skylerl