如何在Grails / Spock测试中而不是在org.grails.plugins.testing.GrailsMockHttpServletResponse@62c0fcae中打印响应

时间:2019-02-08 01:47:05

标签: grails println groovy-console

我正在为我的Grails后端编写Spock测试。我对在Grails中进行测试非常陌生,并且正在尝试查看对模拟请求的响应。

当我写println(response)时,我在标准输出中看到了这一点:org.grails.plugins.testing.GrailsMockHttpServletResponse@62c0fcae

代替实际响应。无论如何,是否可以查看此模拟http响应的内容,而不是当前正在打印的内容?

1 个答案:

答案 0 :(得分:3)

只需使用Groovy的dump方法:

  

生成对象的详细转储字符串,显示其类,hashCode和字段。

println(response.dump())

我的示例:

def response = new GrailsMockHttpServletResponse()
println(response.dump())

输出:

<org.grails.plugins.testing.GrailsMockHttpServletResponse@6a79c292 outputStreamAccessAllowed=true writerAccessAllowed=true characterEncoding=ISO-8859-1 charset=false content= outputStream=org.springframework.mock.web.MockHttpServletResponse$ResponseServletOutputStream@21a947fe writer=null contentLength=0 contentType=null bufferSize=4096 committed=false locale=en_US cookies=[] headers=[:] status=200 errorMessage=null forwardedUrl=null includedUrls=[]>