2

我正在尝试按照有关播放框架的教程进行操作,但是当我到达运行测试的部分时,测试失败了。当我在浏览器中查看错误时,它说它找不到索引视图。我不确定为什么会这样。我猜他们在他们网站上的视频教程中使用的是旧版本。

如果你知道为什么最新版本(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")

}

这是失败的测试。如果我像这样删除索引,则返回 ok("Hello World."); 并对测试进行适当的调整,事情就会过去。但我想知道为什么他们一开始就失败了。特别是因为几乎所有东西都是开箱即用的。此外,事情运行没有错误。当我启动服务器时,我可以看到索引页面,但由于某种原因,当我尝试运行测试时,我被告知测试看不到索引文件。

4

1 回答 1

2

看起来像教程中的一个错误。测试似乎在寻找错误的字符串。尝试将最后一个资产更改为:

assertThat(contentAsString(html)).contains("Hello World.");
于 2013-03-07T15:16:44.860 回答