2

play フレームワークのチュートリアルに従おうとしていますが、テストを実行するセクションに到達するとテストが失敗します。ブラウザでエラーを見ると、インデックス ビューが見つからないというメッセージが表示されます。なぜだかわかりません。私は彼らが彼らのウェブサイトにあるビデオチュートリアルで古いバージョンを使用していると推測しています.

最新バージョン (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 に答える