Tôi mới dùng thử Đơn vị và tôi muốn kiểm tra SQLiteDataBase của mình.Thử nghiệm Đơn vị Android Studio SQLiteDataBase is null
Tôi có một lớp học có tên MySQLiteHelper kéo dài SQLiteOpenHelper. Tôi có một lớp có tên là LocationDataHandler mà tôi sử dụng để thêm hoặc xóa các phần tử khỏi DataBase của mình. Và tôi có một lớp học LocationDataHandlerTest, mở rộng AndroidTestCase, để kiểm tra lớp học LocationDataHandler của tôi.
Tôi đang cố gắng kiểm tra Cơ sở dữ liệu SQLite của mình nhưng dường như tôi đã mất một chút giữa tất cả các ngữ cảnh khác nhau.
đây là mã của tôi:
//Context context = new Activity();
//IsolatedContext context = getMockContext();
//Context context = new MockContext();
//Context context = getInstrumentation().getContext();
Context context = getContext();
helper = new MySQLiteHelper(context);
assertNotNull(helper);
SQLiteDatabase db = helper.getWritableDatabase();
assertNotNull(db); <---- it fails here !
như bạn có thể thấy tôi đã cố gắng với nhiều hoàn cảnh khác nhau mà tôi thấy mọi người sử dụng và làm việc với. Tôi thực sự không hiểu tại sao nó không hoạt động trong trường hợp của tôi.
Vấn đề của tôi là thử nghiệm không thành công trên dòng "assertNotNull (db);" có nghĩa là tôi không bao giờ có thể lấy dataBase của tôi.
Tôi có làm điều này sai không? Tôi không sử dụng đúng ngữ cảnh?
Sửa: Đây là logcat của tôi:
junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:55)
at junit.framework.Assert.assertTrue(Assert.java:22)
at junit.framework.Assert.assertNotNull(Assert.java:256)
at junit.framework.Assert.assertNotNull(Assert.java:248)
at junit.framework.TestCase.assertNotNull(TestCase.java:417)
at com.databerries.LocationDataHandlerTest.testAddLocation(LocationDataHandlerTest.java:72)
bạn có thể thêm logcat không? chỉ để biết được vấn đề của bạn là gì .. –
Bạn đã thử 'getInstrumentation.getTargetContext()' chưa? –
có, nó ném cho tôi một ngoại lệ con trỏ null trên dòng: 'bối cảnh bối cảnh = getInstrumentation(). GetTargetContext();' –