Java单元测试覆盖私有方法

单元测试和集成测试哪个更重要这里不做争论

由于我个人更喜欢写出最小可测试单元的代码,而这些代码又大多数是私有方法,那如何覆盖到私有方法就很重要了,还好万能的spring提供了工具类可以用:ReflectionTestUtils

1
2
3
4
5
6
7
8
9
10
@Test(description = "单元测试-私有方法-获取券状态-已核销")
public void testGetVoucherStatusEnumByVoucherVO1() {
VoucherServiceImpl impl = new VoucherServiceImpl();
VoucherVO voucherVO = new VoucherVO();
voucherVO.setBizStatus("INVALID");
voucherVO.setUsedCount(1);
VoucherStatusEnum status = ReflectionTestUtils.invokeMethod(impl,
"getVoucherStatusEnumByVoucherVO", voucherVO);
assertEquals(status, VoucherStatusEnum.USED);
}

也太简单了,就这么就水了一篇博文。。。惭愧惭愧。。。

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.