1
일부 CouchBase Lite 모바일 클래스를 테스트하기위한 최소한의 테스트 클래스를 만들려고합니다. 응용 프로그램 컨텍스트를 조롱했지만 시도가 실패했습니다.안드로이드 응용 프로그램 컨텍스트없이 CouchBase-Lite 모바일을 사용하는 단위 테스트
문제는 CouchBase 관리자가 MockContext 클래스의 구현되지 않은 메소드 중 일부에 액세스하고 있다는 것입니다.
여기 내 접근 방식은 지금까지 다음과 같습니다 :
public class ClassToTest extends TestCase {
@Test
public void testGetAllDocumentsBundle() throws Exception {
try {
Manager manager = new Manager(
new AndroidContext(new MockContext()),
Manager.DEFAULT_OPTIONS);
}
catch (Exception e) {
Log.e(TAG, "Exception: " + e);
assertTrue(false);
}
}
그리고 :
@RunWith(AndroidJUnit4.class)
public class ItemReaderTest {
private android.content.Context instrumentationCtx;
@Before
public void setUp() throws Exception {
instrumentationCtx = InstrumentationRegistry.getContext();
}
...
@Test
public void testGetAllDocumentsBundle() throws Exception {
Database database = null;
String databaseName = "test";
try {
Context context = new AndroidContext(instrumentationCtx);
Assert.assertTrue(context != null);
Manager manager = new Manager(context, Manager.DEFAULT_OPTIONS); <--- throws exception because context.getFilesDir(); return null in Couchbase Manager.java constructor
...
}
}
사람이 작업을 수행 할 수 있었다? 나는 실질적으로 에을 가지고 있습니까? (예 : 실제 모바일 응용 프로그램을 만들고 Couchbase 모바일을 전혀 테스트 할 수없는 상황입니까?)