Unit testing java.lang.UnsatifiedLinkError与Robolectric和Couchbase
我无法开始使用Robolectric单元测试,因为它在couchbase db中有以下错误Unit testing java.lang.UnsatifiedLinkError与Robolectric和Couchbase,unit-testing,android-sqlite,robolectric,android-testing,couchbase-lite,Unit Testing,Android Sqlite,Robolectric,Android Testing,Couchbase Lite,我无法开始使用Robolectric单元测试,因为它在couchbase db中有以下错误 java.lang.UnsatisfiedLinkError: com.couchbase.lite.internal.database.sqlite.SQLiteConnection.nativeOpen(Ljava/lang/String;ILjava/lang/String;ZZ)J 此错误在语法处抛出到我的CouchbaseWrapper类中 // Get existing db wit
java.lang.UnsatisfiedLinkError: com.couchbase.lite.internal.database.sqlite.SQLiteConnection.nativeOpen(Ljava/lang/String;ILjava/lang/String;ZZ)J
此错误在语法处抛出到我的CouchbaseWrapper类中
// Get existing db with that name
// or create a new one if it doesn't exist.
database = manager.getDatabase(dbname);
如果我执行database=manager.getDatabase(dbname,true)代码>,则此步骤“通过”,但其他步骤返回NPE
下面是我的测试用例:
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
public class OnBoardingPageOneTest {
private OnboardingActivity onboardingActivity;
@Before
public void setUp() {
onboardingActivity = Robolectric.setupActivity(OnboardingActivity.class);
}
@Test
public void verifyElementsArePresent() {
assertThat(onboardingActivity.findViewById(R.id.text_container), is(not(null)));
assertThat(onboardingActivity.findViewById(R.id.intro_video_view), is(not(null)));
assertThat(onboardingActivity.findViewById(R.id.play_button), is(not(null)));
assertThat(onboardingActivity.findViewById(R.id.loading_progress), is(not(null)));
}
}
日志
能否请您提供?Roboelectric中的SQLite支持可能不完整。看到你在窗户上了吗?基于此,couchbase lite在默认情况下没有windows资源,这可能是一个问题。您解决了这个问题吗?没有。全面停止使用RoboeElectric。
Library not found: /native/osx/x86_64/libsqlcipher.dylib
Library not found: /native/osx/x86_64/libsqlite3.dylib
Library not found: /native/osx/x86_64/libsqlcipher.dylib
Library not found: /native/osx/x86_64/libsqlite3.dylib
java.lang.UnsatisfiedLinkError: com.couchbase.lite.internal.database.sqlite.SQLiteConnection.nativeOpen(Ljava/lang/String;ILjava/lang/String;ZZ)J
at com.couchbase.lite.internal.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
at com.couchbase.lite.internal.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:194)
at com.couchbase.lite.internal.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:178)
at com.couchbase.lite.internal.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:461)
at