我很困惑,爲什麼我得到一個classCastException。混淆爲什麼得到classCastException當junit測試
這裏是我的代碼:
public RolesResponse findRoleByRoleNameTenant(RolesRequest rolesRequest)
{
RolesResponse rolesResponse = new RolesResponse();
List<Role> roleList = null;
if (StringUtils.isNotBlank(rolesRequest.getTenantCode()) && null != rolesRequest.getRoleName())
{
roleList = (List<Role>) roleFunctionService.getRolesByRoleNameTenant(rolesRequest.getRoleName().toString(), rolesRequest.getTenantCode());
}
if (CollectionUtils.isNotEmpty(roleList))
{
rolesResponse.setRoles(roleList);
}
else
{
rolesResponse.setError(LayerContextHolder.getErrorObject());
}
return rolesResponse;
}
這裏是測試:
@Test
public void findRoleByRoleNameTenantTest()
{
RolesRequest rolesRequest = new RolesRequest();
rolesRequest.setTenantCode("test");
rolesRequest.setRoleName(RoleName.ADMINATOS);
RolesResponse rolesResponse = rolesProcessService.findRoleByRoleNameTenant(rolesRequest);
//Assert.assertNull(rolesResponse.getError());
}
和運行JUnit測試我得到ClassCastException異常:不能轉換爲java.util.List的
並特別突出顯示此線
roleList = (List<Role>) roleFunctionService.getRolesByRoleNameTenant(rolesRequest.getRoleName().toString(), rolesRequest.getTenantCode());
'roleFunctionService.getRolesByRoleNameTenant()'返回什麼? –
@PredragMaric更新了問題 – BlueShark
您已更新'findRoleByRoleNameTenant()',仍然沒有'getRolesByRoleNameTenant()'的代碼。 –