我有一个简单的Java程序,该程序具有一个服务类,该服务类可检索以Euros-BitCoinValueService.java为单位的BitCoin当前价格. BitCoinPricer类采用BitCoinValueService类提供的数字并将其转换为美元.
目标是从BitCoinValueService类模拟对象,因为该数字会频繁波动.
这是测试类代码:
@RunWith(JUnitParamsRunner.class)
public class BitcoinPricerTest {
@Mock
BitCoinValueService bsp;
@Before
public void initMocks(){
MockitoAnnotations.initMocks(this);
}
@Test
public void testMock (){
BitCoinPricer bp = new BitCoinPricer(bsp);
Mockito.when(bsp.findPrice()).thenReturn(6000.00);
assertEquals(bp.convertEuro(bsp.findPrice()),6000.00,1.0);
Mockito.verify(bsp).findPrice();
}
}
堆栈跟踪:
org.mockito.exceptions.misusing.MissingMethodInvocationException:
when() requires an argument which has to be 'a method call on a mock