tam*_*d14 9 java unit-testing mocking mockito
我有一个带有2个函数的类A:函数a()返回一个随机数.function b()调用a()并返回返回的值.
在测试中我写了这个:
A test = Mockito.mock(A.class)
Mockito.when(test.a()).thenReturn(35)
assertEquals(35,test.a())
assertEquals(35,test.b())
测试在第二个断言时失败.有谁知道为什么?
要清楚 - 这不是我真正的代码,而是一个简单的代码来解释我的问题
Saj*_*ran 19
由于类A被模拟,所有方法调用都不会转到实际对象.这就是为什么你的第二个断言失败(我猜它可能已经返回0).
解:
你可以做点什么
when(test.b()).thenCallRealMethod();
否则你可能会spy喜欢
A test = spy(new A());
Mockito.when(test.a()).thenReturn(35);
assertEquals(35,test.a());
assertEquals(35,test.b());
| 归档时间: | 
 | 
| 查看次数: | 26398 次 | 
| 最近记录: |