小编B M*_* MM的帖子

单元测试WritableNativeMap时出现UnsatisfiedLinkError

我目前正在创建一个用于反应原生项目的Android库.我需要向javascript发出一个map,所以我正在使用react native的WriteableMap类.不幸的是,该类在一个静态块中加载reactnativejni SO,这会在单元测试期间导致UnsatisfiedLinkError.我正在使用JUnit和Mockito进行测试.

我的代码:

@Override
public void onSomething() {
    WritableMap params = Arguments.createMap();

    //fill map

    sendEvent("onChange", params);
}
Run Code Online (Sandbox Code Playgroud)

错误:

java.lang.UnsatisfiedLinkError: no reactnativejni in java.library.path
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
  at java.lang.Runtime.loadLibrary0(Runtime.java:870)
  at java.lang.System.loadLibrary(System.java:1119)
  at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:172)
  at com.facebook.react.bridge.NativeMap.<clinit>(NativeMap.java:23)
  at com.facebook.react.bridge.Arguments.createMap(Arguments.java:29)
  at me.MyClass.onSomething(myClass.java:23)
Run Code Online (Sandbox Code Playgroud)

Arguments.createMap()在看到关于为单元测试存储WriteableMap的注释后开始使用该方法,但它是静态的,我宁愿不必存根静态方法.

有没有办法在运行单元测试时摆脱这个错误?

junit android mockito unsatisfiedlinkerror react-native

7
推荐指数
1
解决办法
2117
查看次数