Короткий ответ, протестируйте оба.
Длинный ответ: Вы всегда должны помнить, что тестирование подтверждает, что для данного входа вы ожидаете определенного выхода .
Спомните, что если ваша функция изменяет состояние (побочный эффект), вам необходимо убедиться, что состояние изменено, как и ожидалось.Если он также возвращает значение, вам необходимо убедиться, что возвращаемое значение соответствует ожидаемому.
Тестирование - это отличный способ убедиться, что ваш код устойчив, если вы понимаете дзен за ним. Я должен проверить то, что ожидаю, и спроектировать тест для неожиданного.
Однако один только тест не дает хорошего кода, если у вас есть метод, который выполняет более двух вещей, он можетбудь то, что не правильно разработан.обычно методы, которые влияют на состояние, не должны возвращать значения, а наоборот.Это не в камне, но если вы следуете этому соглашению, легче разъединить ваши системы.
Существуют принципы кодирования, которые предотвращают будущие головные боли, одним из них является принцип единой ответственности.Что в этом случае ваша функция явно нарушает.Я рекомендую вам взглянуть на SOLID
принципы программирования, оно того стоит, поверьте мне.Модульное тестирование станет естественным, как только вы их примете.