我是新来的mockito,无法使用基本的anyInt()方法。我错过了什么?这是我的测试。

public class SpanPainterTest {
@Test
  public void simpleTest () {
    SpannableString mockSpanString = mock(SpannableString.class);

    SpanPainter painter = new SpanPainter();
    painter.applyColor(mockSpanString);

    verify(mockSpanString).charAt(anyInt());
    verify(mockSpanString).equals(anyInt());
  }
}

这是画师班。
public class SpanPainter {
  public SpannableString applyColor(SpannableString span) {
  span.charAt(7);
  span.equals(0);
  return span;
  }
}

当我注释掉“verify...charAt(anyInt()));”行时,测试通过,因此anyInt()适用于equals()方法。

最佳答案

charAt方法是final且无法模拟最终方法。
查看PowerMockPowerMockito)以模拟最终方法。

10-05 23:18