私はテストケースの1番目のコードブロックを2番目のコードブロックに示すようなものに単純化しようとしています。 私は2つの質問があります:カスタムオブジェクトのMockitoリストを作成してアサートする方法は?
- 私はカスタムオブジェクトのリストを模擬することができますか?
- 返されたオブジェクトのリストのフィールドを使用してカスタムオブジェクトの模擬リストをアサートできますか?
同様の成果はありますか?
このような何かに@Test
public void testStudentSuccess() {
Student st = new Student();
st.setRollNumber("1234");
st.setFeeAmount("1000");
List<Student> stList = new ArrayList<Student>();
stList.add(st);
Map<String, Object> simpleJdbcCallResult = new HashMap<String, Object>();
simpleJdbcCallResult.put("X_GET_DATA", stList);
when(simpleJdbcCall.getSimpleJdbcCall(any(String.class), any(String.class), any(String.class),
any(String.class), any(String.class), any(String.class), any(String.class), any(String.class),
any(StudentRowMapper.class))).thenReturn(simpleJdbcCallResult);
List<Student> studentList = opusPackageRepo.getPolicyStudent("123", "123");
Student student = studentList.get(0);
assertEquals(student.getRollNumber(), "1234");
assertEquals(student.getFeeAmount(), "1000");
}
(コメントを参照してください - > //):
@Test
public void testStudentSuccess() {
List<Student> stList = Mockito.mock(new ArrayList<Student>()); // 1. IS SOMTHING SIMILAR TO THIS POSSIBLE?
Map<String, Object> simpleJdbcCallResult = new HashMap<String, Object>();
simpleJdbcCallResult.put("X_GET_DATA", Mockito.mock(new ArrayList<Student>()));
when(simpleJdbcCall.getSimpleJdbcCall(any(String.class), any(String.class), any(String.class),
any(String.class), any(String.class), any(String.class), any(String.class), any(String.class),
any(StudentRowMapper.class))).thenReturn(simpleJdbcCallResult);
List<Student> studentList = opusPackageRepo.getPolicyStudent("123", "123");
assertEquals(studentList, stList); // 2. CAN I ASSERT EQUALS A MOCK WITH A RETURNED LIST?
}
ここで嘲笑いに値するのは、opusPackageRepoだけです。ここでリストを嘲笑するのはどういう意味ですか –
@glitchの答えは、私が探していたものです - "あなたのテストはこのリストの内容について知る必要はありません" – nanospeck