Gob*_*ins 14 java junit private mockito powermock
阅读后:https: //code.google.com/p/powermock/wiki/BypassEncapsulation 我意识到,我不明白.
请参阅此示例:
public class Bar{
private Foo foo;
public void initFoo(){
foo = new Foo();
}
}
Run Code Online (Sandbox Code Playgroud)
如何foo使用PowerMock 访问私有成员(例如,验证它foo不是null)?
注意:
我不想要的是使用额外的get方法修改代码.
编辑:
我意识到我错过了链接页面上的示例代码块与解决方案.
解:
Whitebox.getInternalState(bar, "foo");
Run Code Online (Sandbox Code Playgroud)
mth*_*ers 20
这应该像编写以下测试类一样简单:
public class BarTest {
@Test
public void testFooIsInitializedProperly() throws Exception {
// Arrange
Bar bar = new Bar();
// Act
bar.initFoo();
// Assert
Foo foo = Whitebox.getInternalState(bar, "foo");
assertThat(foo, is(notNull(Foo.class)));
}
}
Run Code Online (Sandbox Code Playgroud)
添加正确(静态)导入留给读者:).
| 归档时间: |
|
| 查看次数: |
19821 次 |
| 最近记录: |