當前位置:
首頁 >
使用powermock 测试static 方法,jacoco统计覆盖率问题
發(fā)布時間:2023/12/19
41
豆豆
生活随笔
收集整理的這篇文章主要介紹了
使用powermock 测试static 方法,jacoco统计覆盖率问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用powermock 對private 和static 方法進行mock 測試,
public class LogUtil {public static BaseAuditLog getLogBean(String operContent){return null; }public static void saveLog(String context){}mock 使用:
@RunWith(PowerMockRunner.class) //1. @PrepareForTest({LogUtil.class}) //2. public class AddressBookServiceTest_mock {@Beforepublic void setUp() {MockitoAnnotations.initMocks(this);}@Testpublic void test_staticMethod_PowerMock() {//繞過靜態(tài)類PowerMockito.mockStatic(LogUtil.class);//3.繞過靜態(tài)類when(LogUtil.getLogBean(json)).thenReturn(new SensitiveInfoOperationLog());//4.預設靜態(tài)類返回值String response = addressBookServiceImpl.queryAddressBookFuzzy(json);} }但是surefire具體執(zhí)行,并且jacoco 收集覆蓋率的時候:
surefire正常拉起執(zhí)行,但是沒有具體覆蓋率信息,也就是jacoco 對static和private做字節(jié)碼植入的時候有問題,jacoco有兩種執(zhí)行方式,jacoco 在線方式統(tǒng)計(字節(jié)碼植入)有問題;修改離線方式,才能正常收集覆蓋率.
總結
以上是生活随笔為你收集整理的使用powermock 测试static 方法,jacoco统计覆盖率问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sonar 质量配置 操作(质量规则)
- 下一篇: java.lang.NoClassDef