Size: a a a

2020 March 25

Т8

Т-34 85 in rust_offtopic
Переслано от Sergey Benzenko
Так и не дёргайте, кто заставляет то? Или публичный класс обязательно должны все дёргать?
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
это может быть какой-нибудь кастомный код сериализации не торчащего наружу nested-класса
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
ну это, набросил про "если вам надо тестировать private, то вы мудак" не я
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Sergey Benzenko
В общем, в заключении статьи на Хабре всё написано. Я с этим полностью согласен
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
>    Если метод приватный, то это не просто так. Это значит, что трогать его не надо.
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
охуенное заключение
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
если метод приватный, то тестировать его не надо
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
потому что он приватный и это не просто так
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
Л - логика
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Sergey Benzenko
Наверное, такой вопрос встал не в первый раз за всё время существования юнит-тестов. И почему же тогда не придумали какой-нибудь атрибут InternalVisibleTo для членов класса, чтобы упростить жизнь желающим тестировать приватные методы?
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
пушто кейс достаточно редкий
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
да и рефлексии хватает за глаза и за уши
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
плюс механизм "а давайте нам можно будет дёргать приватные методы" очень легко использовать не по назначению
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
а так есть гемморой в виде необходимости применения рефлексии
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
который это хоть как-то фильтрует
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nikita Tsukanov
и делает хорошо видимым на ревью
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
Переслано от Sergey Benzenko
Если у вас возникает потребность тестить приватные методы, то скорее всего ваш класс нарушает принцип единственной ответственности. В этом случае надо нужные приватные методы просто вынести в публичный при другого класса и протестировать их
ну вот этот челик прав
источник

AZ

Alex Zhukovsky in rust_offtopic
а тот который ниже - нет
источник

AZ

Alex Zhukovsky in rust_offtopic
генерацийе идентификатора вполне может заниматься публичный IdentifierGenrator
источник

AZ

Alex Zhukovsky in rust_offtopic
в каокм-нибудь хелпер пакете
источник