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

How to verify call on setter in kotlin using mockito?

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)
        }

}

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

verify(contract.loginDisplay).username

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

有什么帮助吗?

它比你想象的要简单。呼叫:

verify(contract.loginDisplay).username = ""

会有你想要的结果。 Setter setUsername 将调用 contract.loginDisplay 的 mock。