PowerMock 调用私有构造函数

PowerMock 专栏收录该内容
10 篇文章 0 订阅

– 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.class, testServiceName);

		// 验证
		Assert.assertEquals(testServiceName, businessService.getServiceName());
	}

}

– 更多参见:PowerMock 精萃
– 声 明:转载请注明出处
– Last Updated on 2019-08-17
– Written by ShangBo on 2019-08-17
– End

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值