- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个需要返回 JSON 的单元测试。为了构建它,我使用了 JSONBuilder 中的 toPrettyString()
方法。
这是要规范的类:
class Lugar {
String sigla
String nombre
Coordenada coordenada
String toString(){
"${sigla}"
}
String toJson()
{
new JsonBuilder( this ).toPrettyString()
}
static constraints = {
nombre blank: false , nullable: false
}
}
要运行的规范是这样的:
@TestFor(Lugar)
class LugarSpec extends Specification {
void "toJson not empty"() {
when:
Lugar lugar = new Lugar(sigla: "BUE", nombre:"BUENOS AIRES")
String aux = lugar.toJson();
then:
! aux.dump().empty
}
}
但结果是:
<error type="java.lang.StackOverflowError">java.lang.StackOverflowError
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1270)
at groovy.lang.MetaBeanProperty.getProperty(MetaBeanProperty.java:60)
at groovy.lang.PropertyValue.getValue(PropertyValue.java:40)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:287)
at groovy.json.JsonOutput.writeMap(JsonOutput.java:421)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:291)
at groovy.json.JsonOutput.writeArray(JsonOutput.java:326)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:283)
at groovy.json.JsonOutput.writeMap(JsonOutput.java:421)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:291)
at groovy.json.JsonOutput.writeArray(JsonOutput.java:326)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:283)
at groovy.json.JsonOutput.writeMap(JsonOutput.java:421)
at groovy.json.JsonOutput.writeObject(JsonOutput.java:291)
它会一直重复直到结束。
我尝试在一个 main 上测试 toJson,结果很好:
static void main(String[] args) {
Lugar lugar = new Lugar(sigla: "BUE", nombre:"BUENOS AIRES")
String aux = lugar.toJson();
println aux.dump()
}
结果是:
{
"sigla": "BUE",
"constraints": {
"nombre": {
"blank": false,
"nullable": false
}
},
"nombre": "BUENOS AIRES"
}
最佳答案
我不会让对象本身负责格式化它的内容。首先,您可能会查看 @ToString 注释,它允许您指定要包含在结果中的字段。
http://docs.groovy-lang.org/latest/html/gapi/groovy/transform/ToString.html
其次,我会删除 toJson 方法,让默认的 json 转换器处理它。就像是println new JsonBuilder( object ).toPrettyString()
关于json - Grails - JSONBuilder - 规范 toPrettyString() 返回 stackoverflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538248/
我正在做一个需要返回 JSON 的单元测试。为了构建它,我使用了 JSONBuilder 中的 toPrettyString() 方法。 这是要规范的类: class Lugar { Strin
本文整理了Java中org.jboss.windup.graph.model.WindupVertexFrame.toPrettyString()方法的一些代码示例,展示了WindupVertexFr
我是一名优秀的程序员,十分优秀!