我正在尝试按照play framework上的教程进行操作,但是当我到达运行测试的部分时,测试失败了。当我在浏览器中查看错误时,它说它无法找到索引视图。我不知道为什么会这样。我猜他们在他们网站的视频教程中使用的是旧版本。
如果你知道为什么最新版本(2.1.0)会中断,你能解释一下吗?
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public static Result index() {
return ok(index.render("Hello World."));
}
}
这是导致测试失败的文件。当我查看IntelliJ时,错误显示“无法解析符号索引”。
@Test
public void renderTemplate() {
Content html = views.html.index.render("Hello World.");
assertThat(contentType(html)).isEqualTo("text/html");
assertThat(contentAsString(html)).contains("Your new application is ready.");
}
这是index.scala.html文件中的代码
@(message: String)
@main("Welcome to Play 2.1") {
@play20.welcome(message, style = "Java")
}
这是失败的测试。如果我摆脱这样的索引 return ok(“Hello World。”); 并且对测试进行适当的调整,事情就会过去。但我想知道他们为什么一开始就失败了。特别是因为一切都是开箱即用的。事情也没有错误。我在启动服务器时可以看到索引页面,但出于某种原因,当我尝试运行测试时,我被告知测试无法看到索引文件。
答案 0 :(得分:2)
看起来像教程中的错误。测试似乎在寻找错误的字符串。尝试将最后一项资产更改为:
assertThat(contentAsString(html)).contains("Hello World.");