gpt4 book ai didi

groovy - Spock - 未收到测试事件, "NO-SOURCE"

转载 作者:行者123 更新时间:2023-12-01 15:53:46 24 4
gpt4 key购买 nike

尝试在我的 IDE 中运行基本 Spock 测试时,我收到错误 “未收到测试事件”。问题似乎是由于 :test NO-SOURCE。我错过了什么?

渐变输出:

C:\Users\pc\IdeaProjects\schema-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'
}

简单的 Spock 测试:

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

最佳答案

问题出在您的build.gradle 文件中。

从输出中可以看出,Gradle 只运行任务 :compileJava,而不是 :compileGroovy

Spock 测试类是用 Groovy 编写的,因此除非您告诉 Gradle 在构建时运行任务 :compileGroovy,否则不会构建类 com.scarlatti.SpockTest

解决方案:

  • build.gradle 中包含 apply plugin: 'groovy'。这会将 :compileGroovy 任务附加到 Gradle 的 :test 任务图。
  • 在编译依赖项中包含 org.codehaus.groovy:groovy-all:2.4.x jar。这允许 Gradle 编译 Groovy 代码。将 groovy 的版本与您正在使用的 Spock 的版本相匹配。

关于groovy - Spock - 未收到测试事件, "NO-SOURCE",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com