I have the following code:
@RunWith(MockitoJUnitRunner::class)
class OnboardingViewModelTest {
@Mock lateinit var authService : AuthService
lateinit var internetProvider: InternetStatusProvider
private lateinit var viewModel: OnboardingViewModel
@Before
fun setup() {
internetProvider = mock()
whenever(internetProvider.hasInternet()).thenReturn(true)
}
The constructor of InternetStatusProvider
looks like so:
InternetStatusProvider(context:Context)
I am getting a NullPointerException
when stubbing the internetProvider.hasInternet()
method because that method's implementation uses the context
passed in the constructor and the real method is being called?
What am I missing here? the whole point is to stub the real implementation of this method?