如何使用mockito验证kotlin中setter的调用?

prz*_*bar 8 setter verify mockito kotlin

interface LoginDisplay {
    var username: String
    var password: String
}


class LoginActivityLoginDisplay : LoginDisplay {

    override var username: String
        get() = usernameEditView.text.toString()
        set(value) {
            usernameEditView.setText(value)
        }

    override var password: String
        get() = passwordEditView.text.toString()
        set(value) {
            passwordEditView.setText(value)
        }

}
Run Code Online (Sandbox Code Playgroud)

这是我想用Mockito测试的代码示例,如下所示:

verify(contract.loginDisplay).username
Run Code Online (Sandbox Code Playgroud)

棘手的是 - 在这个电话中我只能验证字段用户名的getter,同时我想在这个字段的setter上测试调用.

有帮助吗?

ato*_*tok 30

它比你想象的简单:)调用:

verify(contract.loginDisplay).username = ""
Run Code Online (Sandbox Code Playgroud)

会得到你想要的结果.将调用在contract.loginDisplay的模拟上的Setter setUsername.