我正在嘗試java項目的jacoco脫機檢測。從已插裝文件上的gradle運行jacoco
我創建了一個hello world gradle java項目,並用jacoco檢測了它生成的類文件。當我試圖對這些工具文件運行測試時。我得到以下錯誤。
java.lang.ClassCastException在CUTest.java:-1
的反編譯測試.class文件是
import org.junit.Test;
public class CUTest
{
public CUTest()
{
arrayOfBoolean[0] = true;
}
@Test
public void test()
{
boolean[] arrayOfBoolean = $jacocoInit();CUT localCUT1 = new CUT();arrayOfBoolean[1] = true;
CUT c;
c.meth();
arrayOfBoolean[2] = true;
}
}
儀表源.class文件是
import java.io.PrintStream;
public class CUT
{
public CUT()
{
arrayOfBoolean[0] = true;
}
public void meth()
{
boolean[] arrayOfBoolean = $jacocoInit();System.out.println("hello world");
arrayOfBoolean[1] = true;
}
}
jacoco代理jar存在於類路徑中。我在build.gradle中添加了一個測試編譯依賴項。
這裏的源文件(而不是反編譯的類文件)
public class CUT {
public void meth(){
System.out.println("hello world");
}
}
測試源
import static org.junit.Assert.*;
import org.junit.Test;
public class CUTest {
@Test
public void test() {
CUT c = new CUT();
c.meth();
}
}
我用jacoco儀表API來編寫這些類後生成工具類文件。 我想從這些.class文件生成jacoco報告(已經插入)。
以下是項目的Hello World和儀表 https://github.com/arpitgautam/jacoco-rat https://github.com/arpitgautam/jacoco
源文件不能編譯。請提供最小化,完整和可驗證的示例 - https://stackoverflow.com/help/mcve – Godin
這些是jacoco檢測的反編譯的.class文件。源代碼現在也添加了。 – Arpit
這還不足以重現您的問題。怎麼**完全**你的儀器類? **如何**完全**執行?如何**完全**創建報告? – Godin