agn*_*nul 5 java unit-testing jersey-2.0
在我的jersey-2应用程序中,我使用的是一个非常简单的ContainerRequestFilter检查基本身份验证(可能重新发明轮子,但请耐心等待).过滤器有点像这样
@Override
public void filter(ContainerRequestContext context) throws IOException {
String authHeader = context.getHeaderString(HttpHeaders.AUTHORIZATION);
if (StringUtils.isBlank(authHeader)) {
log.info("Auth header is missing.");
context.abortWith(Response.status(Response.Status.UNAUTHORIZED)
.type(MediaType.APPLICATION_JSON)
.entity(ErrorResponse.authenticationRequired())
.build());
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想为它编写测试,模拟ContainerRequestContext对象.
@Test
public void emptyHeader() throws Exception {
when(context.getHeaderString(HttpHeaders.AUTHORIZATION)).thenReturn(null);
filter.filter(context);
Response r = Response.status(Response.Status.UNAUTHORIZED)
.type(MediaType.APPLICATION_JSON)
.entity(ErrorResponse.authenticationRequired())
.build();
verify(context).abortWith(eq(r));
}
Run Code Online (Sandbox Code Playgroud)
eq(r)即使查看Response对象的字符串表示,它们也会在调用时失败.知道什么是错的吗?
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |