Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

672
Visualizações
mockito-kotlin whenever arguments - Parameter specified as non-null is null

For testing I wrote a wrapper for ViewModelProviders.of(...).get(...) so that I can supply a mock:

class MyViewModelProvider {
    fun <T : ViewModel> get(scope: Fragment, type: Class<T>) : T {
        return ViewModelProviders.of(scope).get(type)
    }

    ...
}

And then in my test:

Dagger TestModule:

import com.nhaarman.mockito_kotlin.mock

...

fun provideMyViewModelProvider(): MyViewModelProvider {
        return mock()
}

And in my test class:

import com.nhaarman.mockito_kotlin.any
import com.nhaarman.mockito_kotlin.anyOrNull
import com.nhaarman.mockito_kotlin.whenever
...
@Inject
lateinit var mockViewModelProvider: MyViewModelProvider
...
val mockViewModel = mock<MyViewModel>()

whenever(mockViewModelProvider.get(any<Fragment>(), any<Class<ViewModel>>())).thenReturn(mockViewModel)
...

However on the line with whenever I get the error:

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter scope

I've tried a couple things:

  1. Swapping any<Fragment>(), any<Class<ViewModel>>()) with anyOrNull<Fragment>(), anyOrNull<Class<ViewModel>>() --> still get the same error

  2. Tried using concrete references whenever(mockViewModelProvider.get(myFragment, MyViewModel::class.java)).thenReturn(mockViewModel) --> Calls actual method instead of mock

Not sure what I'm doing wrong...

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Found the answer:

The mocked function needs to be marked open or use mock-maker-inline.

https://github.com/nhaarman/mockito-kotlin/wiki/Parameter-specified-as-non-null-is-null

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda