2

我想编写一个 gsp 文件,该文件采用域对象并生成 KML。我想根据域对象内容验证是否存在特定元素。我将如何 TDD 这个 gsp 文件?我正在考虑编写一个使用域对象调用渲染方法的测试,但不确定如何从控制器外部调用渲染方法。是否有另一种方式来呈现 gsp 页面?

4

1 回答 1

2

在http://grails.org/doc/latest/搜索“Grails 框架参考文档”后,我找到了答案。下面是允许 GSP 的 TDD 的代码片段。此测试是集成测试

class MyGspTest extends GroovyPagesTestCase {

    ...

    void testGsp() {
        //Open file containing GSP under test
        def myGspFile = new File("grails-app/views/myView/myGsp.gsp")
        assertNotNull(myGspFile)
        def template = myGspFile.text

        //Populate domain object with relevent test data
        MyDomainObject obj = new MyDomainObject()
        ...

        //Obtain result of GSP page
        def result = applyTemplate(template, [myDomainObject: obj])

        //Verify results contain expected output
        ...
    }

}
于 2010-01-09T16:22:07.613 回答