Тестирование приватных функций с помощью mockk - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу знать, как я могу тестировать частные функции в Основном действии. Я хочу использовать макет. Я читал, что не очень хорошая идея тестировать частные функции напрямую, но мне нужно проверить их. Следующие коды являются моими производственными кодами:

class MainActivity : AppCompatActivity() {

    public override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        myPrivateFunc() // that calls also another private functions
    }

Unittest, который я пытался написать:

class MainActivityTest{
    @Test
    fun `test onCreate`() {
        //given
        val activity: MainActivity = spyk(MainActivity())

        every{ activity.setContentView(R.layout.activity_main)} just Runs // ??returns Unit
        //when
        activity.onCreate(null)
        // then
        every{activity invoke "myPrivateFunc"}
        verify(exactly = 1) {activity.setContentView(R.layout.activity_main)}
    }

Может ли кто-нибудь мне помочь?

...