2013-03-07 2 views
2

play framework의 튜토리얼을 따르려고하지만 테스트를 실행하는 섹션에 도달하면 테스트가 실패합니다. 브라우저에서 오류를 볼 때 색인보기를 찾을 수 없다는 메시지가 나타납니다. 왜 그런지 모르겠습니다. 나는 그들이 그들의 웹 사이트 인 비디오 튜토리얼에서 이전 버전을 사용하고 있다고 생각한다.버전 2.1.0에서 playframework에 대한 테스트가 실패하는 이유는 무엇입니까?

최신 버전 (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.1.1에서 수정 된 버그 2.1.0 일 수 있습니다. 실패한 테스트 코드와 오류 또는 실패 원인을 제공 할 수 있습니까? –

+0

@JamesWard index.scala.html 파일 때문에 테스트에 실패했습니다. –

+0

@JamesWard 파일에서 코드를 추가하고 실패한 원인이되는 테스트를 추가했습니다. –

답변

2

이 튜토리얼의 버그처럼 보입니다. 이 테스트는 잘못된 문자열을 찾는 것 같습니다. 마지막 애셋을 다음으로 변경하십시오.

assertThat(contentAsString(html)).contains("Hello World."); 
관련 문제