Android Mockito anyInt不工作

Android Mockito anyInt不工作,android,mockito,Android,Mockito,我是Mockito新手,无法使用基本的anyInt()方法。我错过了什么?这是我的测试 public class SpanPainterTest { @Test public void simpleTest () { SpannableString mockSpanString = mock(SpannableString.class); SpanPainter painter = new SpanPainter(); painter.applyColor(mock

我是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
并且final方法不能被模拟


看看()来模拟final方法。

您知道charAt函数的作用吗?它在给定位置返回一个值。你想测试什么?我想测试applyColor()方法是否使用任何整数调用charAt()方法。我真正的测试实际上更复杂,但在这一点上,我只想知道是否有任何整数可能是问题不会以任何方式修改span对象,因此无法对此进行测试。除非某个对象更改了状态,并且您测试了状态更改,否则您无法知道该对象是否调用了某个方法。
charAt
方法是
final
,并且final方法无法模拟。好的,似乎verify对final方法不起作用。如果把这个答案写成“答案”,我会接受的。谢谢