This is the stacktrace
java.lang.NullPointerException
at android.content.ContextWrapper.getSystemService(ContextWrapper.java:416)
at androidx.room.RoomDatabase$JournalMode.resolve(RoomDatabase.java:517)
at androidx.room.RoomDatabase$Builder.build(RoomDatabase.java:943)
at com.example.movie_app.model.database.MovieDB$Companion.getDatabase(MovieDB.kt:26)
at com.example.movie_app.repository.FavouriteRepository.<init>(FavouriteRepository.kt:22)
at
com.example.movie_app.repository.FavouriteRepositoryTest.setUp(FavouriteRepositoryTest.kt:38)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.robolectric.RobolectricTestRunner$HelperTestRunner$1.evaluate(RobolectricTestRunner.java:546) at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$0(SandboxTestRunner.java:252) at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:89) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
This is my code
The error seems to be pointing towards my Database and repository
@RunWith(RobolectricTestRunner::class)
@Config(manifest = Config.NONE)
class FavouriteRepositoryTest {
@Mock
private lateinit var context: Context
private lateinit var favouriteRepository: FavouriteRepository
private lateinit var db: MovieDB
private lateinit var movieDao: MovieDao
lateinit var application: Application
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
db = Room.databaseBuilder(context,
MovieDB::class.java,"data").allowMainThreadQueries().build()
movieDao = db.MovieDao()
application = Application()
favouriteRepository = FavouriteRepository(application)
}
@Test
fun getFavouriteMessages() {
}
@Test
fun insertFavourite() {
runBlocking {
favouriteRepository.insertFavourite(TestUtil.getFakeMovie())
val favMovies = favouriteRepository.getFavouriteMessages()
assertEquals(favMovies.value!!.isNotEmpty(),true)
// assert(favMovies.value.isNullOrEmpty())
}
}
@Test
fun deleteFavourite() {
}
}
Aucun commentaire:
Enregistrer un commentaire