我有一个使用原生方法的课程:
public class MyClass
{
public static native boolean NativeMethod();
static
{
System.loadLibrary("mynativelib");
}
}
我正在为我的项目编写单元测试,一些测试用例调用了这个本机方法。目前我使用 jmockit 来模拟MyClass。
mynativelib是在big endian机器上运行的,但是那些单元测试是在我的linux PC上运行的,这是小端机器,所以我在运行那些单元测试时遇到了错误的错误:
错误的ELF类:ELFCLASS32(可能的原因:字节顺序不匹配)
所以我的问题是:
答案 0 :(得分:0)
您可以通过声明@Mocked(stubOutClassInitialization = true) MyClass mock
字段或参数来模拟整个类,同时删除静态初始值设定项。
但是,如果在测试运行期间尚未初始化类,则在使用@Mocked
声明进行测试之前,这只会起作用。