Mongo Database ( play-jongo 사용)를 사용하는 플레이 프레임 워크 애플리케이션 v2.2가 있습니다 . / test 폴더에 테스트 단위 클래스가 있습니다. 하지만 test
명령을 사용하여 단위 클래스를 실행하거나 이클립스에서 직접 실행하면 Mongo DB에서 데이터가 전혀 발견되지 않지만 정상적으로 애플리케이션을 실행하면 데이터를 볼 수 있습니다. 나는 Helpers.faceApplication()
방법 을 사용 했지만 여전히 데이터가 전혀 없습니다.
다음은 단위 테스트 코드입니다.
@Test
public void test1() {
Helpers.running(Helpers.fakeApplication(), new Runnable() {
@Override
public void run() {
//MyUser is the mongo entity
MyUser myUser = MyUser.findById("123");
if (myUser != null) {
Logger.info("User ID: " + myUser.id);
} else {
Logger.info("User is NULL"); //it always get here
}
}
});
}
테스트 단위를 실행하면 myUser는 항상 null을 반환합니다.
Helpers.fakeApplication이 읽지 않아 mongo /conf/applicaton.conf
db에 연결되지 않는다고 생각합니다.
누구나 테스트 장치에서 실행할 때 mongo db에 재생을 연결하는 방법을 알고 있습니까?
테스트 모드에서 기존 mongo 데이터베이스로드를 지원하지 않는 이전 play-jongo 버전 (v0.4)을 사용하고있는 것으로 나타났습니다. 그래서 내 해결책은 파일에서 play-jongo 종속성을 수정하여 play-jongo를 v0.5 (play v2.1.x의 경우)로 업데이트하는 것입니다 /project/Build.scala
.
val appDependencies = Seq(
...
"uk.co.panaxiom" %% "play-jongo" % "0.5.0-jongo0.4"
)
다른 플레이 버전은 play-jongo의 readme.md 를 참조하세요 .
다음으로 다음 /conf/application.conf
줄을 추가했습니다.
playjongo.test-uri="mongodb://127.0.0.1:27017/mydb"
그래서 이전 버전은 playjongo.test-uri
구성을 지원하지 않기 때문에 play-jongo를 업데이트해야하는 이유 입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다