单元测试模拟返回的数据有什么意义?
2022-09-04 21:51:37
考虑一下我正在嘲笑某些服务及其方法的场景。
Employee emp = mock(Employee.class);
when(emp.getName(1)).thenReturn("Jim");
when(emp.getName(2)).thenReturn("Mark");
//assert
assertEquals("Jim", emp.getName(1));
assertEquals("Mark", emp.getName(2));
在上面的代码中,当调用时,mock 将返回 Jim,当调用 mock 时将返回 Mark。我的问题是我正在声明Mock的行为并检查它,拥有上述(或相同类型的)断言语句有什么意义?这些显然会通过。这就像检查有什么意义?这些测试何时会失败(除了更改返回类型和参数类型)?emp.getName(1)
emp.getName(2)
assertEquals
3==(1+2)