@proRuby

Страница 1384 из 1594
rabbitkate
29.08.2018
16:53:03
очевидно, раз поставили задачу научиться работать с методами разного уровня доступа, это не просто так :)

Fedor
29.08.2018
16:53:22
ну тогда вызывайте через send

и сразу говорите, что если увидете такое в коде, то найдете исполнителя и сломаете ему руку

главное, смотрите при этом прямо в глаза интервьюеру что бы поверил

Google
rabbitkate
29.08.2018
16:54:16
у меня не тот уровень компетентности, чтоб калечить людей из-за автотестов)

Alex
29.08.2018
16:59:00
для приватного метода? что?

Vasiliy
29.08.2018
17:02:29
Вообще за тесты приватных методов и их вызовы вне классов надо ссать на клаву

Alex
29.08.2018
17:03:05
Fedor
29.08.2018
17:04:13
а что делать, если они исполняются 40 минут?

Nikolay
29.08.2018
17:04:31
test-prof

и вперёд

Fedor
29.08.2018
17:04:42
не, это то понятно

с клавой что делать положено в этом случае?

Alex
29.08.2018
17:04:56
ссать

Fedor
29.08.2018
17:05:21
это неправильно

Alex
29.08.2018
17:05:30
это неправильно
а как правильно ссать на клаву?

Google
Fedor
29.08.2018
17:05:43
зайдет техлид в комнату, увидит процесс, и не сможет понять, в чем причина

на разные проблемы надо производить разные действия

Alexander
29.08.2018
17:07:14
?

и кстати чем плохо тестирование приватных методов? если у класса только один публичный метод и 10 приватных. то проще узнать какой из этих 10 сломался, если их тестить отдельно

Fedor
29.08.2018
17:09:52
да, но при этом буличный тоже надо протестить, и в итоге приватные ты протестишь дважды

а это удвоение времени выполнения каждый вызов рспека

какое-то время ничего страшного, а потом, тесты уже в 10 потоков выполняются полдня

Dima
29.08.2018
17:10:24
и кстати чем плохо тестирование приватных методов? если у класса только один публичный метод и 10 приватных. то проще узнать какой из этих 10 сломался, если их тестить отдельно
Тестирование приватных методов плохо тем, что нарушает постулаты инкапсуляции. И фокусируется на реализации объекта а не на его поведении. Что в дальйшем аукнится при увеличени количества объектов.

Fedor
29.08.2018
17:10:56
ИМХО тесты немного вне теории программирования

Alexander
29.08.2018
17:11:21
приватные проще тестить на эдж кейсы. иначе будет сложно отловить все ситауции если будешь тестить только публичный. ну или же написать на публичный 10*х тестов, чтобы покрыть все приватные

Fedor
29.08.2018
17:11:24
в идеальном мире я бы покрывал тестами все вдоль и поперек, наплевав и на инкапсуляцию и на DRY и на все вообще

ну или тестить приватные, а при тесте публичного все их застабить )

Dima
29.08.2018
17:11:57
про это Sandi Metz целую книжку написала. Там все очень прозрачно и читаемо.

Vasiliy
29.08.2018
17:12:45
Ну так тесть публичный и смотри покрытие

Лучше уж 10х тестов публичного написать чем приватные тестить

Зачем их тестировать вне контекста их вызова?

Darth
29.08.2018
17:31:10
Потому что не факт, что ты покроешь все кейсы приватного

Я считаю, что лучше когда тестами покрыто всё, что имеет смысл тестировать

rabbitkate
29.08.2018
17:35:13
такой вопрос: есть параметр, у которого attr_writer публичный, а attr_reader protected. этот параметр участвует в другом наследуемом классе в вычислениях (суммируется с другим параметром). при запуске появляется ошибка +': nil can't be coerced into Integer (TypeError) это связано с тем, что attr_reader protected? как исправить?

Google
Tim
29.08.2018
17:36:42
Тестировать приватные методы если и надо, то в исключительных случаях

Tim
29.08.2018
17:38:03
И потом при любом изменении ебался бы с прошлыми тестами на реализацию
Антон скидывал статью, антипаттерны тестирования, и там про такое было

Смотря что он делает
Ну я просто по этому поводу не пришел к однозначному мнению, но имхо приватные методы надо тестировать в качестве исключения, если тестировать вовсе

Tim
29.08.2018
17:41:18
Хотя не, надо избегать тестирования приватных методов вообще. Смотреть на стейт полей класса - куда ни шло, но тоже не оч кошерно

Darth
29.08.2018
17:41:21
А что касается "не тестировать реализацию", то это не только к приватным относится Бывает что и публичный нет смысла тестировать отдельно

Dima
29.08.2018
17:41:25
Practical Object Oriented Design in Ruby, An Agilie Primer (c) Sendi Metz

Tim
29.08.2018
17:41:39
Если там сложная логика или есть разные кейсы, то я считаю что нужно
Сложная логика - сложный класс. Упрощай значит

Darth
29.08.2018
17:41:53
Сложная логика - сложный класс. Упрощай значит
Философия мамкиных комментаторов )

Darth
29.08.2018
17:42:05
Тут все умные гуру лучших практик

Darth
29.08.2018
17:42:19
А кодим мы на реальных проектах, которые кто-то делал до нас

Tim
29.08.2018
17:42:30
Философия мамкиных комментаторов )
Ну можешь думать что хочешь по этому поводу

Darth
29.08.2018
17:42:44
S.O.L.I.D
В рельсах солид польностью не соблюдается

Это опять же о комментаторах и их лучшим практиках, которые часто только в комментариях и существуют

Dima
29.08.2018
17:43:26
Философия мамкиных комментаторов )
Зря вот так вот. Не надо так писать, это устраивать ругань.

Google
Tim
29.08.2018
17:43:31
Это не говорит о неверности моего суждения

Dima
29.08.2018
17:44:21
Тебе к Каролине )
Дружище, не надо залупаться. И искать ссоры. Залупился на Тима, теперь на меня. Прекращай. Веди себя уважительно.

Darth
29.08.2018
17:44:43
Обиженный? ?

Admin
ERROR: S client not available

Tim
29.08.2018
17:45:03
Это опять же о комментаторах и их лучшим практиках, которые часто только в комментариях и существуют
Тут аргумент в стиле «а вот в реальности...». Предлагаю самостоятельно рассмотреть вопрос несостоятельности такой аргументации

Dima
29.08.2018
17:45:49
Обиженный? ?
Еще раз и в бан.

Tim
29.08.2018
17:46:10
Ахаха

Alex
29.08.2018
17:50:35
не точно.
короч у тебя будут километровые тесты

Dima
29.08.2018
17:50:35
но я точно знаю что такое OOD

Alex
29.08.2018
17:50:38
при black box

Alex
29.08.2018
17:50:54
нет.
что нет? ))))))

Dima
29.08.2018
17:51:09
что нет? ))))))
Твое утверждение ложно.

Alex
29.08.2018
17:51:17
Твое утверждение ложно.
подтверди чем нибудь пожалуйста

Alex
29.08.2018
17:51:38
потому что когда ты тестируешь black box чуть более чем простую логику - тебе придется кучу данных запилить чтобы протестировать внутренний приватный метод

контроллеры тестил когданить?

Google
Alex
29.08.2018
17:52:10
вот у тебя и будут километровые тесты на 4 страницы лишь бы не "ломать инкапсуляцию"

Dima
29.08.2018
17:53:35
вот у тебя и будут километровые тесты на 4 страницы лишь бы не "ломать инкапсуляцию"
дело в том, что на эту тему есть видео выступление Sandi Metz где она детально разберает этот вопрос.

могу скинуть для ознакомления.

в 4 раз.

Alex
29.08.2018
17:53:50
код с прода я тебе кидать конечно же не буду

Tim
29.08.2018
17:57:04
а ты точно знаешь что такое юнит тесты?
Define юнит тесты Define интеграционные тесты

Alex
29.08.2018
17:58:07
Define юнит тесты Define интеграционные тесты
я не спец но в моем понимании: (грубо) конкретный класс/метод в полной изоляции - юнит тест обращение к куску системы без моков - интеграционный тест

Tim
29.08.2018
17:58:35
Ну тогда контроллеры больше подходят ко второй категории?

Alex
29.08.2018
17:58:43
а так и есть

Tim
29.08.2018
17:58:44
Типа тестишь апи своё

Условно

Alex
29.08.2018
17:58:52
в общем то так и есть

Tim
29.08.2018
17:59:00
Ну так это не юнит тесты, че тролешь

Alex
29.08.2018
17:59:13
всмысле

Страница 1384 из 1594