小编iMi*_*MiX的帖子

Groovy XML MarkupBuilder不会创建root <?xml ....?>

我正在使用XML MarkupBuilder生成XML文件

import groovy.xml.StreamingMarkupBuilder
import groovy.xml.MarkupBuilder
import org.custommonkey.xmlunit.*

....

def xmlObj = new StringWriter()
def xml = new MarkupBuilder(xmlObj)
xml.book("id":21){
    name('bookname')
}
Run Code Online (Sandbox Code Playgroud)

我得到了输出:

<book id='21'>
    <name>bookname</name>
</book>
Run Code Online (Sandbox Code Playgroud)

如何让它生成根xml标签?

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

xml grails groovy

19
推荐指数
2
解决办法
8492
查看次数

grails,单元测试具有指定id的模拟域

我在我的域中使用已分配的ID

class Book {

Integer id
String name

static mapping = {
    id generator: 'assigned'
    }   
}
Run Code Online (Sandbox Code Playgroud)

所以要添加一本新书:

def book = new Book([name: "The Adventures of Huckleberry Finn"])
book.id = 123
book.save(flush: true)
Run Code Online (Sandbox Code Playgroud)

一切都很完美,问题出在我的单元测试中

首先我只能嘲笑1域类,其次,我不能在单元测试使用.save(),所以我唯一的选择(据我所知)是使用mockDomain如下:

mockDomain(Book, [ [id: 123, name: "The Adventures of Huckleberry Finn"] ])
Run Code Online (Sandbox Code Playgroud)

但它不起作用,它将在没有"id generator:'assigned'"的普通域中工作

有任何想法吗?我读到在集成测试中我不会遇到这个问题,这只是单元测试中的问题谢谢

grails groovy unit-testing grails-orm

8
推荐指数
1
解决办法
5956
查看次数

标签 统计

grails ×2

groovy ×2

grails-orm ×1

unit-testing ×1

xml ×1