У меня есть приложение Scala с build.gradle (используя gradleVersion 4.4.1).Я использую JUnit Framework.Разделы зависимостей и задач теста в моем gradle.build ниже
dependencies {
compile 'org.scala-lang:scala-library:2.11.12'
compile 'org.apache.spark:spark-core_2.11:2.0.2'
compile 'org.apache.spark:spark-sql_2.11:2.0.2'
compile 'org.apache.spark:spark-hive_2.11:2.0.2'
compile 'com.typesafe.play:play-json_2.12:2.6.9'
compile 'com.fasterxml.jackson.module:jackson-module-jsonSchema:2.9.8'
testCompile 'org.scalatest:scalatest_2.11:3.0.0'
testCompile 'junit:junit:4.12'
}
test {
testLogging.showStandardStreams = true
}
Когда я запускаю тест gradle
Задача: test FAILED
com.someOrg.gdpschemautils.JsonToSchemaSpec > initializationError FAILED
java.lang.NoClassDefFoundError
Caused by: java.lang.ClassNotFoundException
1 тест завершен, 1 не пройден
Когда я запускаю тест gradle --debug
19:20:21.303 [DEBUG] [TestEventLogger] com.someOrg.gdpschemautils.JsonToSchemaSpec > initializationError FAILED
19:20:21.303 [DEBUG] [TestEventLogger] java.lang.NoClassDefFoundError: scala/Product$class
19:20:21.303 [DEBUG] [TestEventLogger] at org.scalatest.time.Units.<init>(Units.scala:33)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.time.Days$.<init>(Units.scala:293)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.time.Days$.<clinit>(Units.scala)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.time.Span$.<init>(Span.scala:584)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.time.Span$.<clinit>(Span.scala)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.Suite$.<init>(Suite.scala:1399)
19:20:21.304 [DEBUG] [TestEventLogger] at org.scalatest.Suite$.<clinit>(Suite.scala)
Ниже приведена структура приложения.
.
├── README.md
├── build.gradle
├── gradle.properties
├── settings.gradle
├── gradlew
├── gradlew.bat
├── src
└── main
└── scala
└── com
└── someOrg
└── gdpschemautils
├── Config
├── DataSourcePathException
├── JsonToSchema
├── ObjectToJsonSchema
├── SchemaConverter
├── SchemaToJson
└── test
└── resources
├── testJsonSchema.json
└── scala
└── com
└── someOrg
└── gdpschemautils
├── JsonToSchemaSpec
Кажется, что классы scala недоступны для модульных тестов во время выполнения, я также добавил testCompile для библиотеки scala в мои зависимости, и я все еще получаю ту же ошибку.Ни один из моих модульных тестов не будет запущен, скорее JsonToSchemaSpec или другие.