Mockito anyInt 不工作

Mockito anyInt not working

我是 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());
  }
}

这里是画家class。

public class SpanPainter {
  public SpannableString applyColor(SpannableString span) {
  span.charAt(7);
  span.equals(0);
  return span;
  }
}

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

charAt 方法是 final 并且无法模拟 final 方法。

看看 PowerMock (PowerMockito) 来模拟最终方法。