/ / Спок - Тестові події не отримано, "NO-SOURCE" - groovy, spock

Спок - Тестові події не отримано, "NO-SOURCE" - groovy, spock

Я отримую помилку "test events not received" коли я намагаюся запустити базовий тест Споку в моїй IDE. Здається, це питання пов'язано з проблемою :test NO-SOURCE. Що мені не вистачає?

Градуюча продукція:

C:UserspcIdeaProjectsschema-test>gradlew :cleanTest :test --tests com.scarlatti.SpockTest
:cleanTest UP-TO-DATE
:compileJava NO-SOURCE
:processResources
:classes
:compileTestJava NO-SOURCE
:processTestResources NO-SOURCE
:testClasses UP-TO-DATE
:test NO-SOURCE

BUILD SUCCESSFUL

Структура проекту:

src
├───main
│   └───groovy
│      └───com
│          └───scarlatti
│               └───App.java
└───test
└───groovy
└───com
└───scarlatti
SpockTest.groovy

build.gradle:

apply plugin: "java"
apply plugin: "idea"

repositories {
mavenCentral()
}


dependencies {
testCompile "org.spockframework:spock-core:1.1-groovy-2.4"
testCompile "cglib:cglib-nodep:2.2"
}

Простий спок випробувань:

class SpockTest extends Specification {
@Test
"test that a spock test will run"() {
when:
println "running spock test..."
then:
notThrown(Exception)
}
}

Відповіді:

1 для відповіді № 1

Проблема полягає в твоїй build.gradle файл

Зверніть увагу на виході, що Gradle виконує лише завдання :compileJava, але ні :compileGroovy.

Класи випробувань Spock написані у Groovy, тому немає класу com.scarlatti.SpockTest буде побудовано, якщо ви не скажете Gradle, щоб запустити завдання :compileGroovy на будівництві.

Рішення:

  • включати apply plugin: "groovy" в build.gradle. Це прикріпить :compileGroovy завдання до граділяції :test графік завдання
  • включати в себе org.codehaus.groovy:groovy-all:2.4.x банку у ваших компіляційних залежностях. Це дозволяє Gradle скомпілювати код Groovy. Відповідність версії groovy до версії Spock, яку ви використовуєте.