要模擬的類:
public class PrivateObject { private String privateString; public PrivateObject(String privateString) { this.privateString = privateString; } private String getPrivateString() { return this.privateString; } }
使用PowerMock模擬:
// 類實例(class instance) PrivateObject instance = new PrivateObject (); // 模擬私有字段/變量(private field/variable) MemberModifier .field(PrivateObject .class, "privateString").set( instance , "hellomock"); // 模擬私有方法(private method) MemberModifier .stub(MemberMatcher.method(PrivateObject .class, "getPrivateString")) .toReturn( "Power Mock");
本文轉自:https://my.oschina.net/dabird/blog/607513?from=singlemessage