У меня есть класс, который использует XStream и используется в качестве формата передачи для моего приложения. Я пишу тесты для других классов, которые отображают этот формат передачи в другой стандарт обмена сообщениями. Я хотел бы убедиться, что все получатели в моем классе вызываются в тесте, чтобы гарантировать, что, если новое поле добавлено, мой тест правильно проверяет его.
Грубый контур класса XStream
@XStreamAlias("thing")
public class Thing implements Serializable {
private int id;
private int someField;
public int getId(){ ... }
public int someField() { ... }
}
Так что теперь, если я обновлю этот класс так:
@XStreamAlias("thing")
public class Thing implements Serializable {
private int id;
private int someField;
private String newField;
public int getId(){ ... }
public int getSomeField() { ... }
public String getNewField(){ ... }
}
Я бы хотел, чтобы мой тест не прошел, потому что старые тесты не вызывают getNewField()
.
Цель состоит в том, чтобы при добавлении новых получателей у нас был какой-то способ убедиться, что тесты их проверят.
В идеале это должно содержаться целиком в тесте и не требует изменения базового класса Thing.
Есть идеи? Спасибо за внимание!