Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to verify call on setter in kotlin using mockito?

Tags:

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

}

This is the example of code I'd like to test with Mockito as follows:

verify(contract.loginDisplay).username

Tricky thing is - that in this call i can only verify getter of field username, meanwhile I'd like to test call on setter of this field.

Any help?

like image 811
przebar Avatar asked Sep 30 '16 07:09

przebar


1 Answers

It's simpler than you think. Calling:

verify(contract.loginDisplay).username = ""

will have the result you want. Setter setUsername on the mock of contract.loginDisplay will be called.

like image 86
atok Avatar answered Sep 19 '22 14:09

atok