我的任務是弄清爲什麼這個JUnit測試失敗。我所發現的是,而不是返回一個ArrayList(如getDeligationsForLoggedInUser應該返回,它返回一個LinkedList的「用戶列表」。JUnit Mockito返回LinkedList而不是ArrayList
@SuppressWarnings("unchecked")
@Test
public void test_getDelegationsForLoggedInUser()
{
String userId="Abcd";
List<String> expectedUserList= new ArrayList<String>();
expectedUserList.add("efghi");
expectedUserList.add("jklmn");
expectedUserList.add("opqrs");
when(namedParameterJdbcTemplate.queryForObject(anyString(),anyMap(), any(RowMapper.class))).thenReturn(expectedUserList);
List<String> userList= workflowProcessDAOImpl.getDelegationsForLoggedInUser(userId);
verify(namedParameterJdbcTemplate, times(1)).query(sqlCaptor.capture(), namedParameterMap.capture(), rowMapperCaptor.capture());
assertThat(userList, is(expectedUserList));
assertThat(sqlCaptor.getValue(), is(SQLConstantsSysConfigV1.getInstance().GET_USERIDS_FOR_DELEGATES));
}
沒有人有任何想法,爲什麼是這樣?
你能否提供jUnit失敗日誌?我們需要知道你在哪條線路上以及由於什麼原因未能通過測試.. –