使用powermock 测试static 方法,jacoco统计覆盖率问题
生活随笔
收集整理的這篇文章主要介紹了
使用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() {//繞過靜態類PowerMockito.mockStatic(LogUtil.class);//3.繞過靜態類when(LogUtil.getLogBean(json)).thenReturn(new SensitiveInfoOperationLog());//4.預設靜態類返回值String response = addressBookServiceImpl.queryAddressBookFuzzy(json);} }但是surefire具體執行,并且jacoco 收集覆蓋率的時候:
surefire正常拉起執行,但是沒有具體覆蓋率信息,也就是jacoco 對static和private做字節碼植入的時候有問題,jacoco有兩種執行方式,jacoco 在線方式統計(字節碼植入)有問題;修改離線方式,才能正常收集覆蓋率.
總結
以上是生活随笔為你收集整理的使用powermock 测试static 方法,jacoco统计覆盖率问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sonar 质量配置 操作(质量规则)
- 下一篇: 橙光游戏《千金笑》攻略