【发布时间】:2016-01-13 17:44:41
【问题描述】:
我有以下测试,我需要验证是否调用了 Person 类的所有 getter。到目前为止,我已经使用了 mockito 的 verify() 来确保调用每个 getter。有没有办法通过反思来做到这一点?可能会在 Person 类中添加一个新的 getter,但测试会错过它。
public class GetterTest {
class Person{
private String firstname;
private String lastname;
public String getFirstname() {
return firstname;
}
public String getLastname() {
return lastname;
}
}
@Test
public void testAllGettersCalled() throws IntrospectionException{
Person personMock = mock(Person.class);
personMock.getFirstname();
personMock.getLastname();
for(PropertyDescriptor property : Introspector.getBeanInfo(Person.class).getPropertyDescriptors()) {
verify(personMock, atLeast(1)).getFirstname();
//**How to verify against any getter method and not just getFirstName()???**
}
}
}
【问题讨论】:
标签: java unit-testing reflection junit mockito