Saya memiliki View Model
yang memanjang AndroidViewModel
class MoveViewModel(application: Application): AndroidViewModel(application),CoroutineScope{
....
}
Dan saya ingin menguji unitnya tetapi saya tidak tahu cara mengejek kelas Aplikasi
@Test
fun testSearchDataValidation() {
val application = Mockito.mock(Application::class.java)
val viewModel = MoveViewModel(application)
.....
}
Tetapi ketika saya menjalankan tes saya mendapatkan kesalahan yang Mockito
tidak dapat ditiru Application
org.mockito.Exceptions.base.MockitoException: Mockito tidak dapat mengejek kelas ini: kelas Android.app.Application.
Mockito hanya dapat mengejek kelas non-privat & non-final.
Bagaimana cara saya meniru kelas Aplikasi untuk meneruskannya ke model tampilan saya?
Sunting:
Berikut hierarki folder saya seperti yang disarankan oleh @farhanjk
test
? - person tyczj   schedule 10.04.2019test
, Anda perlu meniru semua dependensi Android (sepertiApplication
atauSharedPreferences
), pengujian di folderandroidTest
malah menyediakan aplikasi Anda yang sebenarnya. Anda seharusnya dapat menguji model tampilan unit ditest
, model tersebut jauh lebih cepat daripadaandroidTest
. - person lelloman   schedule 10.04.2019