Если метод void
, он явно имеет некоторые побочные эффекты.В противном случае это был бы неоперативный.Таким образом, у вас нет выбора и вам необходимо проверить эти побочные эффекты.
Способ тестирования этих побочных эффектов зависит от используемой вами технологии и подхода к тестированию:
, еслиметод вызывает некоторых других соавторов / объектов, mock их и впоследствии проверяет mocks
, если изменяет состояние некоторых других компонентов (добавление элементадля сбора, изменения поля) запрос и утверждения их
, если хранит что-то на диске / базе данных, запросите их также
, если в Swing отображается какое-то окно, вам нужно использовать Swing тестовые фреймворки, такие как Window Licker
, если ...Вы могли бы предоставить более технические подробности ?
КСТАТИ Сеттер, который выполняет некоторую дополнительную несвязанную логику, - это запах кода.Людям, поддерживающим такой код, будет очень трудно понять, что этот невинный setPersonObj()
делает что-то кроме ... установки.
Также все эти имена: Person
, PersonObj
и typeObj
должны бытьто же самое для согласованности и совместимости со спецификацией JavaBean.