Java 在JUnit中填充数据
我正在为一个简短的方法编写一个JUnit测试用例,我想我正在设置所有必需的字段,以防止出现任何Java 在JUnit中填充数据,java,junit,Java,Junit,我正在为一个简短的方法编写一个JUnit测试用例,我想我正在设置所有必需的字段,以防止出现任何NullPointerException,但是filters总是Null,因此我的测试不会进入循环ILocalPostProcessFilter是一个接口,由抽象类BaseExceptionPostProcessFilter实现,该抽象类由具体类MessageToExceptionPostProcessFilter扩展。我还没有任何断言,所以请忽略它 试验方法: protected <T ext
NullPointerException
,但是filters
总是Null
,因此我的测试不会进入循环ILocalPostProcessFilter
是一个接口,由抽象类BaseExceptionPostProcessFilter
实现,该抽象类由具体类MessageToExceptionPostProcessFilter
扩展。我还没有任何断言,所以请忽略它
试验方法:
protected <T extends BaseServiceResponse> T processLocalPostProcessFilters(T resp, Response cResp) throws EISClientException
{
List<ILocalPostProcessFilter> filters = config.getLocalPostProcessFilters();
if(filters == null)
return resp;
T bResp = resp;
for(ILocalPostProcessFilter filter : filters)
{
bResp = filter.postProcess(resp, cResp);
}
return bResp;
}
受保护的T processLocalPostProcessFilters(T resp,Response cResp)抛出EISClientException
{
List filters=config.getLocalPostProcessFilters();
if(过滤器==null)
返回响应;
T-bResp=resp;
用于(ILocalPostProcessFilter过滤器:过滤器)
{
bResp=过滤器后处理(resp,cResp);
}
返回bResp;
}
JUnit测试:
@Test
public void testProcessLocalPostProcessFilters() throws Exception {
TestClass baseClient = new TestClass(new ClientConfiguration(), "serviceURL");
CatastropheServiceResponse catastropheServiceResponse = new CatastropheServiceResponse();
CatastropheResponse entity = new CatastropheResponse();
catastropheServiceResponse.setContentLength(10);
catastropheServiceResponse.setContentType(ContentType.XML);
entity.setSource(ResponseSourceEnum.CATASTROPHE);
entity.setTransactionId("01234");
catastropheServiceResponse.setEntity(entity);
Response response = mock(Response.class);
ILocalPostProcessFilter filter = new MessageToExceptionPostProcessFilter();
((BaseExceptionPostProcessFilter) filter).setHttpStatusCode("200");
((BaseExceptionPostProcessFilter) filter).setCondition(ConditionOperator.OR);
List<ILocalPostProcessFilter> listFilter = new ArrayList<>();
listFilter.add(filter);
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setLocalPostProcessFilters(listFilter);
baseClient.processLocalPostProcessFilters(catastropheServiceResponse, response);
}
@测试
public void testProcessLocalPostProcessFilters()引发异常{
TestClass baseClient=newTestClass(new ClientConfiguration(),“serviceURL”);
CatastropheServiceResponse CatastropheServiceResponse=新的CatastropheServiceResponse();
CatastropheResponse实体=新的CatastropheResponse();
catastropheServiceResponse.setContentLength(10);
catastropheServiceResponse.setContentType(ContentType.XML);
实体.setSource(响应源.灾难);
实体。setTransactionId(“01234”);
catastropheServiceResponse.setEntity(实体);
Response=mock(Response.class);
ILocalPostProcessFilter=新消息ToExceptionPostProcessFilter();
((BaseExceptionPostProcessFilter)过滤器);
((BaseExceptionPostProcessFilter)过滤器).setCondition(ConditionOperator.OR);
List listFilter=new ArrayList();
添加(过滤器);
ClientConfiguration ClientConfiguration=新的ClientConfiguration();
setLocalPostProcessFilters(listFilter);
processLocalPostProcessFilters(catastropheServiceResponse,response);
}
不确定填充过滤器需要做什么
任何帮助都将不胜感激
谢谢您正在为
ClientConfiguration
的另一个实例添加筛选器,该实例与您正在调用的processLocalPostProcessFilters
新建TestClass
时使用的实例不同,它通过添加ClientConfiguration
的同一个实例来工作。非常感谢你。