2011-09-01 2 views
0

테스트 패키지에서 BasicTest.java로 yaml 파일을로드했습니다. 그러면 메모리 데이터베이스의 h2에 예상대로 db 데이터가 만들어집니다. BasicTest.java를 하위 패키지 (예 : test.unit, 작동하지 않습니다. yaml 파일을 찾았지만 데이터가 작성되지 않았습니다. 이 문제를 해결하려면 무엇을 변경해야합니까?재생! 테스트 하위 패키지에서 yaml을로드하는 프레임 워크

내 테스트 설정은 다음과 같습니다.

@Before 
public void setUp() { 
    Fixtures.deleteAllModels(); 
    Fixtures.loadModels("data.yml"); 
} 
+0

이것은 버그 인 것 같습니다. 콘솔 출력을 제공 할 수 있습니까? –

+0

콘솔 출력이 표준 요금입니다. 즉, jdbc : h2 : mem ...., –

+0

woops에 연결되어 있습니다. 거기서 끝나지 않았습니다. 콘솔 출력은 포트 9000에서 HTTP를 듣고, jdbc : h2 : mem에 연결됨, 응용 프로그램이 시작되었습니다. 스키마를 사용하고 있으므로이 파일은 내 application.conf에 있습니다. % test.db.url = jdbc : h2 : mem : 재생; MODE = MYSQL; LOCK_MODE = 0; INIT = 미시시피가 존재하지 않으면 SCHEMA를 생성하십시오. 앞에서 말했듯이 테스트 할 기본 패키지에 BasicTest.java가있을 때 원활하게 작동합니다. 하위 패키지로 이동하면 표가 생성되지만 채워지지 않습니다. 두 경우 모두 data.yml 파일을 찾습니다. –

답변

0

"yml"에 경로를 추가하여로드하려고 시도하기 전에 프레임 워크 내부 PATH를 재생하도록하십시오. 예 (파일 경로가 응용 프로그램 경로와 관련 있음) :

VirtualFile appRoot = VirtualFile.open(Play.applicationPath); 
Play.javaPath.add(0, appRoot.child("test/sub/packages/data.yml")); 
+0

고마워요,하지만 난 여전히 당신의 제안을 사용할 때 같은 문제에 직면 해있다. –

+0

나는 실수를 범했습니다 : 경로는 응용 프로그램 루트와 관련이 있어야합니다 : myapp/test/some/packages/data.yml의 경우'test/some/packages/data.yml'과 같습니다. 이 방법을 시도해 봤어? –

+0

(그냥 확인) –

관련 문제