Size: a a a

Scala User Group

2021 October 01

R

Rajven in Scala User Group
https://scalamock.org/
Каких-то особых подводных не заметил.
Также можно использовать любые джавовые инструменты, по вкусу.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну канонические религиозные тексты ООП и модульности гласят, что детали реализации тестировать не нужно, т.к. каждый тест - своего рода контракт
если особенности поведения нужно протестировать, эти особенности должны быть выделены в отдельный модуль со своими тестам
источник

AS

Artem Sokolov in Scala User Group
Поч нет. Вопрос же в выборе гранулрности. Для относительно низкоуровневых тестов те или иные стабы нужны. Ид и вы про какой-то конкретный кейс?
источник

AF

Alexandr Fedorov in Scala User Group
Ну говорят там беда с кейс классами
Они почему-то не мокаются, надо детальнее смотреть
источник

Oℕ

Oleg ℕizhnik in Scala User Group
а вот зачем кейсклассы мокать это для меня совсем загадка
источник

R

Rajven in Scala User Group
Вот что-что, а кейс классы мокать не приходилось.
источник

AS

Artem Sokolov in Scala User Group
Второй тезис можешь пожалуйста примером дополнить. Не оч понятно про что речь
источник

АМ

Азамат Макарчук... in Scala User Group
ну ты же не спросил "зачем", ты спросил "что"
источник

AF

Alexandr Fedorov in Scala User Group
ну выделили мы этот метод
Но он используется только в этом классе и не является публичным
Как нам его протестировать?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ну если у тебя есть какой-то там EnterprisePaymentModule и ты хочешь замокать у него приватный метод calculatePrice(lol, kek), так делать нельзя, потому что ты полагаешься, что у EnterprisePaymentModule есть в принципе такой метод, и это деталь реализации

вместо этого нужно вынести какой-то модуль
EnterpisePriceCalculator , подтянуть ссылку на него в EnterprisePaymentModule и мокать уже этот новый модуль
источник

R

Rajven in Scala User Group
Корректность всех публичных методов использующих его = его корректность, нет? Вообще, имхо, странно писать тесты на детали реализации, которые могут (и, скорее всего, будут) меняться.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
этот клинкодороллер не мой, я просто твиты собираю
источник

AF

Alexandr Fedorov in Scala User Group
Ну почему нет?
С таким подходом вообще можно тесты не писать
А тест кавередж 80% оставить парням из Booking  например
источник

VK

Vladislav Kovalenko🐝... in Scala User Group
Почему им?
источник

AF

Alexandr Fedorov in Scala User Group
Ну это про крутой Ci/Cd когда комит сразу в прод летит
источник

AS

Aλexander Semenov in Scala User Group
Покрывать лучше acceptance тестами, которые вызывают реальные эндпоинты, а не моки и вот это всё.
источник

R

Rajven in Scala User Group
У нас юнит тестамы покрывают только публичные методы прописанные в интерфейсах.🤷
Да и тест кавередж достаточно холиварный показатель.
источник

AF

Alexandr Fedorov in Scala User Group
Ладно, я понял.
Спасибо
Буду разбираться по проектной необходимости)
источник

VK

Vladislav Kovalenko🐝... in Scala User Group
да нормальная моки и мокито тема, у нас тест коверейдж 90+%, все приватные методы протестированы, кейсклассы замоканы, тесты по двести строк на кейс с when verify в столбик и продукт летает
источник

AS

Artem Sokolov in Scala User Group
Это же шутка да
источник