FunctionalTest에 버그가있는 것 같습니다. 모든 메소드 (POST는 GET, DELETE)이 줄은 PUT에서 누락 된 쿠키
if (savedCookies != null) request.cookies = savedCookies;
을 통해 수행 다음 줄이에서 . 또한 savedCookies는 비공개이므로 테스트에서 액세스 할 수 없습니다.
해결 방법은 테스트에서 쿠키 맵을 개인 변수로 정의하고 로그인 응답 쿠키로 설정 한 다음이 쿠키를 사용하여 새 요청으로 POST를 호출하는 것입니다.
여기 내 코드
private static Map<String, Http.Cookie> lastCookies;
public void login(){
String postUrl = Router.reverse("GAEActions.doLogin").url;
Map<String, String> map = Maps.newHashMap();
map.put("email", "[email protected]");
map.put("url", "/");
map.put("isAdmin", "true");
Map<String, File> fileMap = Maps.newHashMap();
Response post = POST(postUrl, map, fileMap);
lastCookies = post.cookies;
}
public void test(){
....
Request request = newRequest();
request.cookies = lastCookies;
Response post = PUT(request, url,"application/json",json);
안녕하세요, 우리는 좀 더 상세하게 필요합니다 당신이, 풋를 호출하여 경로 항목을 사용하고있는 코드, 방법의 구현, 테스트 이외의 작품을 넣어 경우, 등등. 많은 정보를 제공해주십시오 :) –
로컬 호스트 또는 배포 된 GAE에서 테스트 중이십니까? 둘 사이에 어떤 차이가 있습니까? GAE가 Play 핵심 기능을 많이 지원하지 않는다는 것을 알고 있으며, 이것이 해당 기능 중 하나인지 궁금합니다. – Codemwnci
안녕하세요. 도움을 주셔서 감사합니다. – mericano1