我现在对 mockito 有一些非常奇怪的行为。我基本上有(超级短手),下面的代码
enum brokerages {
brokerage1
}
System system=new System(...);
Order order = new Order(...);
Mockito brokerage= Mockito.mock(Brokerage.class);
Mockito.doReturn(brokerage1).when(brokerage).getBrokerName();
Mockito.doAnswer(invocationOnMock -> {
system.EvaluteOrder.evaluateOrder(order);
return "1";
}).when(brokerage).placeMarketOrder();
我也发现如果我这样做会发生同样的行为:
Mockito.when(brokerage.getBrokerageName).thenReturn(brokerage1);
Mockito.when(brokerage.placeMarketOrder()).thenAnswer(
invocationOnMock -> {
system.EvaluteOrder.evaluateOrder(order);
return "1";
}
)
有时,经纪公司为 getBrokerName 存根返回“1”,我得到一个字符串不能转换为枚举异常,有时它可以工作。我的单元测试不在多线程模式下。知道为什么 mockito 返回错误的存根吗?