У меня есть небольшой проект Scala, и я создаю его с помощью Gradle. Моя IDE - это Intellij Idea. Я настроил файл build.gradle
, добавив задачу spec
для запуска тестов без необходимости добавлять аннотацию @RunWith(classOf[JUnitRunner])
для каждого класса тестов, и он отлично работает, когда я запускаю gradle из командной строки.
Но IDEA не распознает эту задачу и не может запускать какие-либо тесты. Когда я пытаюсь запустить тестовый класс в IDEA, я получаю сообщение об ошибке No tests found for given includes:[chapter2.polymorphic.SequencesTest](filter.includeTestsMatching)
Существует ли какая-либо конфигурация, в которой IDEA не может выполнять тесты в соответствии с файлом build.gradle
?
Весь код проекта можно найти в github
Ниже приведен файл build.gradle
:
plugins {
id 'scala'
id 'java'
id 'idea'
}
apply plugin: 'scala'
apply plugin: 'java'
apply plugin: 'idea'
repositories {
mavenCentral()
}
wrapper {
gradleVersion = "5.4.1"
distributionType = Wrapper.DistributionType.ALL
}
def scalaVersion = "2.12"
dependencies {
compile "org.scala-lang:scala-library:${scalaVersion}.8"
// Use Scalatest for testing our library
testCompile 'junit:junit:4.12'
testCompile "org.scalatest:scalatest_${scalaVersion}:3.0.8"
// Need scala-xml at test runtime
testRuntime "org.scala-lang.modules:scala-xml_${scalaVersion}:1.2.0"
//html test reports
testCompile group: 'org.pegdown', name: 'pegdown', version: '1.6.0'
}
task spec(dependsOn: ['testClasses'], type: JavaExec) {
main = 'org.scalatest.tools.Runner'
args = ['-R', "build/classes/scala/test", '-o', '-h', 'build/tests/reports']
classpath = sourceSets.test.runtimeClasspath
}
test.dependsOn(spec)