有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

存在JNI API调用时的java JUnit测试覆盖率

我正在编写JUnit测试用例。我有一个包含调用JNI API的API的类

public class Test {

    public native int getId_native();

    public void doSomething() {
        // do init
        int id = getId_native();
        // Get name by Id
    }

}

我正在为doSomething()API编写单元测试。我面临的问题是,一旦调用了JNI API(getId_native()),就会抛出未满足的linkerror,并在我的JUnit测试中捕获,测试结束。控件不会继续测试本机函数之后的代码行。这降低了项目中所有类似方法的代码覆盖率

由于本机方法是在同一个类中声明的,所以我也无法模拟该类

有人能帮我解决这个问题吗

谢谢


共 (0) 个答案