单元测试验证通过的函数被调用

els*_*nov 0 android unit-testing function verify kotlin

假设我有这个功能(用Kotlin编写):

fun determineBottomBarView(assignee: String?,
                           showChatAssignerFunction: () -> Unit,
                           showChatComposerFunction: () -> Unit,
                           hideChatComposerAndAssignerFunction: () -> Unit) {
    if (assignee.isNullOrEmpty()) {
        showChatAssignerFunction()
    } else {
        if (assignee.equals(localRequestManager.getUsername())) {
            showChatComposerFunction()
        } else {
            hideChatComposerAndAssignerFunction()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

showChatAssignerFunction当受让人为空或空时,是否可以验证(在单元测试中)?谢谢你们!

mie*_*sol 5

你当然可以:

@Test
fun `just testing`() {
    var showedChatAssigner = false
    var showChatComposer = false
    var didHideChat = false

    determineBottomBarView(null,{ showedChatAssigner = true }, { showChatComposer = true }, { didHideChat = true })

    assertThat(showedChatAssigner, equalTo(true))
    assertThat(showChatComposer, equalTo(false))
    assertThat(didHideChat, equalTo(false))
}
Run Code Online (Sandbox Code Playgroud)