如何使用 Mockito and/or PowerMock 测试(不是模拟)私有方法?
How do I TEST (not mock) a private method using Mockito and/or PowerMock?
每次我认为我找到了这样的例子,结果证明这是一个模拟而不是测试的例子。请注意,答案可能是 "don't do it that way",我希望如此。我看到很多人只使用反射,但我想知道是否有更简单的方法。
你使用反射。或者,您采用我采用的方法,即您不显式测试私有方法,而是在测试使用它们的 public 方法时简单地隐式测试它们。
编辑:阅读此内容以讨论测试私有方法的原理:
Should I test private methods or only public ones?
这是 PowerMockito 的方式。
@Test
public void testCallPrivateMethod() throws Exception {
Point actual = Whitebox.invokeMethod(powerMockDemo,
"privateMethod", new Point(11, 11));
assertThat(actual.getX(), is(12));
assertThat(actual.getY(), is(12));
}
https://automationrhapsody.com/call-private-method-powermock/
每次我认为我找到了这样的例子,结果证明这是一个模拟而不是测试的例子。请注意,答案可能是 "don't do it that way",我希望如此。我看到很多人只使用反射,但我想知道是否有更简单的方法。
你使用反射。或者,您采用我采用的方法,即您不显式测试私有方法,而是在测试使用它们的 public 方法时简单地隐式测试它们。
编辑:阅读此内容以讨论测试私有方法的原理:
Should I test private methods or only public ones?
这是 PowerMockito 的方式。
@Test
public void testCallPrivateMethod() throws Exception {
Point actual = Whitebox.invokeMethod(powerMockDemo,
"privateMethod", new Point(11, 11));
assertThat(actual.getX(), is(12));
assertThat(actual.getY(), is(12));
}
https://automationrhapsody.com/call-private-method-powermock/