GlassFish と Jersey で Java EE 6 を使用しています。
カスタム ヘッダーやその他のリクエストの詳細を使用して、このリソースへのリクエストをモックするにはどうすればよいですか?
@Stateless
@Path("/user")
public class Resources {
@Contex
private HttpServletRequest request;
....
@GET
@Path("/settings")
@Produces("application/json")
@Consumes("text/plain")
public AccountSettings accountSettings() {
//check custom headers and request content do some stuff
return accountSettings;
}
....
}
これは私の Java コードですが、リクエストがまだ null であるため、res.accountSettings() で null ポインター例外が発生します。
@Mock
HttpServletRequest request= Mockito.mock(HttpServletRequest.class);
@Test
public void testResources() {
when(request.getHeader(HTTP_AUTHORIZATION_HEADER)).thenReturn("Basic wedwd");
Resources res=new Resources();
AccountSettings response=res.accountSettings();
}
newキーワードで作成する代わりに、これを使用すると、リソースも null になります。
@Inject Resources resources