J'explore sur la façon d'écrire des tests unitaires pour mon code scala étincelle. Je suis tombé sur-base d'essai à l'étincelle et à essayer d'exécuter quelques exemples standards que je reçois une erreurunité d'allumage test à l'aide d'essais à base d'allumage
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)
}
}
L'erreur est la suivante:
Class 'AppTest' must either be declared abstract or implement abstract member 'withFixture(test:Any):Outcome' in 'org.scalatest.SuiteMixin'
J'utilise IntelliJ IDEA pour le même et mon build.sbt ressemble à ceci:
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
Je n'ai jamais fait de tests unitaires auparavant. Je vous serais reconnaissant toute aide à ce problème
Merci. Laissez-moi essayer cela et vérifier. btw existe-t-il une raison spécifique pour laquelle vous ne voudriez pas utiliser spark-testing-base? Toute la littérature pour les points de tests unitaires d'allumage à cette étincelle-test base – Ravikiran
est dérivé du code privé paquet d'étincelle. Il fournit un moyen riche en fonctionnalités pour tester l'étincelle. À mon avis, ces fonctionnalités supplémentaires rendent les tests d'étincelles plus complexes. YMMV –
je reçois une erreur disant « ne peut pas résoudre le symbole fermer » dans la dernière ligne. Ai-je besoin d'importer autre chose? J'ai déjà importé SparkSession – Ravikiran