我目前正在使用play测试页面渲染:
@Test
public void renderUpdateUserPage() {
Content html = update_user.render("Update User");
assertThat(contentType(html)).isEqualTo("text/html");
String htmlAsString = contentAsString(html);
assertThat(htmlAsString).contains("Update User");
assertThat(contentAsString(html)).contains("<input type=\"text\" placeholder=\"First Name\" class=\"input-large\" id=\"firstName\" name=\"firstName\">");
assertThat(contentAsString(html)).contains("<input type=\"text\" placeholder=\"Last Name\" class=\"input-large\" id=\"lastName\" name=\"lastName\">");
assertThat(contentAsString(html)).contains("<input type=\"text\" placeholder=\"Email Address\" class=\"input-large\" id=\"email\" name=\"email\">");
}
正如您在代码中看到的那样,我只是将html复制到contains()
中。我可以测试页面内容的更好方法是什么?
答案 0 :(得分:0)
我认为这种方法可能有点脆弱,因为即使很小的布局更改也会导致测试失败。我没有测试特定的DOM结构,而是尝试测试页面的行为,比如提交表单,看看会发生什么。有一个blog post about integrating Cucumber and Play,您可以将此作为测试Cucumber和Fluentlenium表单提交的起点。