因此,我們有一個我們想要使用Scalatest測試的Scala程序(使用Maven構建)。我們正在運行的Scala 2.11.8和Scalatest 3.0.1(我們試圖3.0.3無濟於事)scalatest - 無法擴展先前版本的Scala編譯的宏
當我們的測試運行與宏觀assert()
,我們得到以下錯誤什麼:
error: can't expand macros compiled by previous versions of Scala
assert(true)
^
它指向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'而不是使用屬性是一種反模式,這使得在Scala版本之間切換時偶然會留下'_2.10'或'_2.12'。 –
是的,它實際上是使用我填寫的屬性,所以你們知道它是什麼。我將嘗試下面的答案,看看是否有其他依賴項正在使用它。不幸的是,我把工作電腦留在週末工作。沒有提及2.10,但也許有一個2.12在POM – skylerl