– Start
假设我们有如下类。
package demo05;
public class BusinessService {
private String serviceName = "";
public BusinessService () {
this("account service");
}
// 私有构造方法
private BusinessService (String serviceName) {
this.serviceName = serviceName;
}
public String getServiceName() {
return serviceName;
}
}
下面我们看看如何调用私有构造函数。
package demo05;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ BusinessService.class })
public class BusinessServiceTest {
@Test
public void test() throws Exception {
String testServiceName = "test";
// 调用私有构造函数
BusinessService businessService = Whitebox.invokeConstructor(BusinessService.