如何测试视图页面中是否存在文本?

时间:2016-07-19 07:19:36

标签: grails integration-testing

在进行集成测试时,Grails是否有任何方法断言视图页面中是否存在文本?

例如:有时我们想断言视图页面包含某些元素。例如:在电影列表页面中,我们要断言给定的电影显示在视图页面中。我们怎样才能在Grails中有效地实现这一目标?谢谢!

1 个答案:

答案 0 :(得分:0)

嘛!据我所知,当我们渲染一个视图时,我们得到了String,因此你可以使用String的contains方法来测试页面是否包含一些文本。

有很多这样的例子。

以下是来自http://mrhaki.blogspot.in/2013/05/grails-goodness-testing-views-and.html博客的内容:

package com.grails.views

import grails.test.mixin.TestMixin
import grails.test.mixin.web.GroovyPageUnitTestMixin
import spock.lang.Specification

@TestMixin(GroovyPageUnitTestMixin)
class HeaderTemplateSpecification extends Specification {

    def "if username is set then show message Hi with username"() {
        expect: 'Template output must contain Hi, Johnson'
       (render(template: '/sample/header', model: [username: 'Johnson'])).contains 'Hi, Johnson'
    }

}

上面,如果您注意到已经渲染了gsp视图并检查了视图中是否存在Hi,mrhaki字符串。

希望它能回答你的问题。