我對Scala和Intellij相當陌生,ScalaTest也是全新的。我用最新的Scala插件設置了Intellij 14和Scala 2.11.4
,一切正常。然後我試着介紹ScalaTest,我感到非常困惑。我從scalatest.org
下載了最新版本的ScalaTest(scalatest_2.11-2.2.1.jar
)。我進入我的項目結構並選擇「模塊」,點擊綠色加號並添加scalatest_2.11-2.2.1.jar
。一切進展順利,我可以在我的項目中看到External Libraries
的最佳罐子。當我創建我的第一個測試時,它導入了org.scalatest.Funsuite
,班級擴展了FunSuite,一切都很好。然後我嘗試了一個非常簡單的測試,我從互聯網上覆制過來。在Intellij中聲明和測試ScalaTest錯誤
import org.scalatest.FunSuite
class MyTest extends FunSuite {
test("this is a test") {
assert(true)
}
}
我得到2個錯誤。它不能解析帶有該簽名的「斷言」引用,也不能解決它所說的「測試」方法unspecified value parameters Seq[Tag]:() => BoxedUnit
。
我可以看到其他方法簽名「斷言」和「測試」,但我不能使用最基本的。
感謝所有幫助
我的scala-reflect.jar和scala-xml_2.11-1.o.2包含在我的scala-sdk-2.11.4 中,我已經按照你的描述設置了tests目錄。 我試圖將範圍從「編譯」更改爲「測試」,但不幸的是沒有改變任何東西。 我仍然有同樣的錯誤。 – yorkville
我按照原來的方式放回東西,儘管我仍然有2個錯誤,但我繼續前進,並進行測試,結果正常。如果我斷言(真)測試通過,並且如果我斷言(錯誤)測試失敗。那麼爲什麼IntelliJ會在編輯器中報告錯誤,即使它運行正常? – yorkville
有時在這種情況下,它有助於使用File /「Invalidate Caches/Restart」並單擊「Invalidate and Restart」。我在思想14中與斯卡拉有過這樣的問題。它還可以幫助檢查文件/設置中的其他Scala設置:在「語言和框架」/「Scala」和/「Scala編譯服務器」下,以及「構建,執行,部署」/「編譯器」/「Scala編譯器」。基本上只是尋找戲劇性的不一致。 –