1
我在探討如何爲我的火花scala代碼編寫單元測試。我跨過火花測試基地,並在試圖運行一些標準的例子我得到一個錯誤來使用火花測試基的火花單元測試
import org.scalatest.FunSuite
import com.holdenkarau.spark.testing.{SharedSparkContext}
class AppTest extends FunSuite with SharedSparkContext {
test("test initializing spark context") {
val list = List(1, 2, 3, 4)
val rdd = sc.parallelize(list)
assert(rdd.count === list.length)
}
}
錯誤如下:
Class 'AppTest' must either be declared abstract or implement abstract member 'withFixture(test:Any):Outcome' in 'org.scalatest.SuiteMixin'
我使用的IntelliJ IDEA的相同,我的build.sbt看起來如下
name := ""
version := "1.0"
scalaVersion := "2.11.8"
fork in Test := true
libraryDependencies ++= Seq("org.apache.spark" %% "spark-core" % "2.0.0",
"org.apache.spark" %% "spark-mllib" % "2.0.0",
"org.apache.spark" %% "spark-sql" % "2.0.0",
"org.scalatest" %% "scalatest" % "1.9.1" % "test",
"com.holdenkarau" %% "spark-testing-base" % "0.7.2" % "test"
)
parallelExecution in Test := false
我從來沒有做過單元測試。我將不勝感激這個問題的任何幫助
謝謝。讓我試試看並檢查。順便說一句,有什麼具體的原因,你不想使用火花測試基地?所有關於火花單元測試的文獻都指出, – Ravikiran
火花測試基礎是從火花的一些封裝專用代碼派生的。它提供了一種功能豐富的方式來測試火花。在我看來,這些附加功能使得火花測試更加複雜。 YMMV –
我在最後一行發生錯誤,提示'無法解析符號關閉'。我需要導入其他東西嗎?我已經導入了SparkSession – Ravikiran