Vergewissern Sie sich, dass alle Getter-Methoden @ heiße

Ich habe den folgenden Test, bei dem ich überprüfen muss, ob alle Getter der Person-Klasse aufgerufen werden. Bisher habe ich mockito's verify () verwendet, um sicherzustellen, dass jeder Getter aufgerufen wird. Gibt es eine Möglichkeit, dies durch Nachdenken zu erreichen? Es kann vorkommen, dass der Person-Klasse ein neuer Getter hinzugefügt wird, der Test wird dies jedoch nicht berücksichtigen.

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()???**
        }
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage