Java 使用spock junit测试和gradle构建系统在控制台上输出单元测试结果

Java 使用spock junit测试和gradle构建系统在控制台上输出单元测试结果,java,gradle,spock,Java,Gradle,Spock,你好, 我正在用spock框架使用gradle构建系统进行单元测试 当我运行我的测试gradletest时,我只看到这样一条消息: GNU Emacs 24.3.1 Gradle 1.12 spock-core.0.7 然后我必须检查xml文件,看看抛出了什么异常 是否有任何选项可以让我在控制台输出中看到异常? 例如,我想将一些打印消息打印到控制台输出: * What went wrong: Execution failed for task ':test'. > There were

你好,

我正在用
spock框架
使用
gradle构建
系统进行单元测试

当我运行我的测试
gradletest
时,我只看到这样一条消息:

GNU Emacs 24.3.1
Gradle 1.12
spock-core.0.7
然后我必须检查xml文件,看看抛出了什么异常

是否有任何选项可以让我在控制台输出中看到异常? 例如,我想将一些打印消息打印到控制台输出:

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///home/projs/gradleTest/build/reports/tests/index.html
我的Gradle生成文件:

    catch(FileNotFoundException ex) {
        System.out.println("Exception " + ex.toString());
    }
    catch(IOException ex) {
        System.out.println("Exception " + ex.toString());
    }
    catch(Exception ex) {
        System.out.println("Exception " + ex.toString());
    }
我的斯波克单元测试:

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'groovy'

repositories {
              mavenLocal()
              mavenCentral()
}
dependencies {
             compile "com.googlecode.json-simple:json-simple:1.1.1"
             testCompile "org.codehaus.groovy:groovy:2.3.3"
             testCompile "org.spockframework:spock-core:0.7-groovy-2.0"
}
非常感谢您,请尝试gradle--stacktrace测试。我相信这将显示产生测试失败/错误的堆栈跟踪

您还可以添加
--debug
选项以获取更多信息

当我运行gradle测试时,我只看到这样一条消息:[……]

默认情况下,您还将看到(在输出的后面):

  • 哪些测试方法失败
  • 异常类型
  • 发生异常的源文件和行号
要查看更多信息,请配置
Test#testLogging
。例如:

import spock.lang.Specification;
class SnapClientTest extends Specification {
    def "Request from web services"() {
        given:
        SnapClient snapclient = new SnapClient()

        expect:
        snapclient.makeRequest() == 0
    }
}
有关更多详细信息,请检查中的
Test

然后我必须检查xml文件,看看抛出了什么异常


通常,您会检查HTML报告,而不是XML文件。在Mac上,您只需按住CMD键并双击
后的文件URL即可打开报告。请参见位于以下位置的报告:
。一些*nix终端提供类似的功能。

请参见.Hmm中的
Test\testLogging
,我无法获取
exceptionFormat“full”
来执行任何操作。最近有没有改变?是的,这对于无法访问测试报告的信号量构建尤其有用。谢谢在Gradle构建语言参考中,也检查。
tasks.withType(Test) {
    testLogging {
        exceptionFormat "full"
    }
}