powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Тестирование private методов
15 сообщений из 215, страница 9 из 9
Тестирование private методов
    #40080082
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

а также нельзя протестировать взлет и посадку- а лишь получить динамический коэф сопротивления)))


Которого вполне достаточно чтобы судить о взлете и посадке.
Т.к. в аэродинамической трубе моно протестировать и подъёмную силу.

<:o)
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080086
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timein,
Это нельзя.
Либо клиент не шлет вам всякую херню,
либо это БЛ и вы всякую херню пропускаете в валидатор слоя БЛ и приводите к нормальному виду.
То есть требуется сущность Юзверь а вам присылают json Футболист.
Вот вы в слое БЛ конвертите его в другую сущность.
И тест на конвертацию класса одного в другой.
Причем тут маппинг?
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080089
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timein,
Почему по контракту приход сущности юзверь, а приходит Футболист?
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080092
Timein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Timein,
Это нельзя.
Либо клиент не шлет вам всякую херню,
либо это БЛ и вы всякую херню пропускаете в валидатор слоя БЛ и приводите к нормальному виду.
То есть требуется сущность Юзверь а вам присылают json Футболист.
Вот вы в слое БЛ конвертите его в другую сущность.
И тест на конвертацию класса одного в другой.
Причем тут маппинг?


Я вполне могу путаться в терминологии. С моей точки зрения это реально просто маппинг - из полей одного объекта в поля другого объекта. Ну не знаю, давайте Converter назовем, если маппер под такое не подходит
Если подкините какую-нибудь хорошую статью по архитектуре (правильному разбиению на классы и слои) приложений типа "получить данные - преобразовать данные - положить в базу", буду рад
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080095
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timein,
Точной границы маппинга и конвертера нету.
Увы.
Имхо если аннотации простые вкл, выкл то маппинг. Если сложнее то бери как есть и внизу на бэке конвертируй.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080128
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timein
mayton,

Я могу путаться в терминологии.
Я правильно понимаю, что предполагается:
1) поля StructuredJavaObject впрямую переложить в PlainJavaObject1 (как есть, один к одному)
2) Из PlainJavaObject1 переложить с обработкой в PlainJavaObject2 (так как состав полей может не совпадать)

Да. Но я говорю предложение по реализации исходя только из твоих слов. Исходника не видел.
А он может прояснить больше деталей. Может есть и еще более простое решение.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080132
Timein
Тема интересная. Позвольте мне тоже тогда позадавать пару вопросов:
1. Есть у нас маппер. На входе у него объект, полученный из xml - все уровни вложенности исходной xml в объекте сохранены, на выходе - плоская entity для базы. У входного объекта около 50-60 полей (так сложилось).
Поля перекладываются со всякими разными обработками - много if'ов (если это и это поле заполнены, то заполни поле так-то), каких-то обработок строк, дат и т.д.
Для удобства навигации по классу все обработки разбиты на методы согласно вложенности xml (ну, в разумных пределах). И эти методы приватные.
С одной стороны понятно, что можно тестировать через public метод маппера, но тогда проверка правильности обработки какого-нибудь глубоко вложенного поля весьма затратно по времени (надо ведь до этого поля еще по всем условиям добраться)
С другой стороны, если написать тесты на каждый метод отдельно (например с использованием библиотечки WhiteBox), то это позволяет проверить маппинг конкретных полей быстрее и проще
Это тоже хороший пример когда ради удобного тестирования прийдется нарушать инкапсуляцию.
TimeinВот как лучше все же поступать? (Хотя вы тут 8 страниц обсуждали, что тестить private методы - это фуфу =) )Часть этих восьми страниц - это как раз спор о том "это фуфу" или это просто "меньшее из зол". Этот вопрос не был решен, и стороны не согласны. На мой пример тоже никто не смог придумать как удобно протестировать и одновременно сохранить инкапсуляцию..
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080134
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
>Это тоже хороший пример когда ради удобного тестирования прийдется нарушать инкапсуляцию.
= я бы написал, ради удобного тестирования надо убрать архитектурные косяки в проекте)
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080135
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Часть этих восьми страниц - это как раз спор о том "это фуфу" или это просто "меньшее из зол". Этот вопрос не был решен, и стороны не согласны. На мой пример тоже никто не смог придумать как удобно протестировать и одновременно сохранить инкапсуляцию..

Ты про собственные рукотворные хеш-таблицы? Я думаю что для 80% бизнес-кода (который тут обычно обсуждают)
должен следовать принципу SingleResponsibility и этот вопрос решен автоматом. Автор выше хотел сделать
несколько ответсвтенностей на одном классе и понял что растет сложность тестирования. Комбинаторно растет.

Оставшиеся редкие артефакты.... как-то твои хеш-таблички или мои графы или еще бох знает какие тонкие материи
дейтвительно можно взламывать, инструментировать и достигать каких-то своих целей. В языках наподобие С++
для этого есть пре-процессор или макро-процессор. А у нас... ну вот у нас всякие подлые штучки типа Мокито.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080143
maytonТы про собственные рукотворные хеш-таблицы?Нет, я про проблему с командами для роботов.
maytonА у нас... ну вот у нас всякие подлые штучки типа Мокито.Во-первых, мокито нарушает инкапсуляцию еще больше чем открытие private методов (мы знаем какой конкретно метод какой код будет вызывать). А во-вторых.. я в принципе не понимаю причем он тут.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080146
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Ну вот. Когда нет конкретики, нет и разговора для обсуждения. Нечего обсуждать.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080147
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за команды для роботов? Сорян.. я видимо где-то пропустил.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080150
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если уж говорить о тестиовании приватных методов -и возникла такая необходимость обявить их пекейдж приватными
я у себя как раз так и сделал
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080375
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Lelouch
asv79,

Ладно, вот какой-то (не очень хороший, например захардкодил имя образа) пример с testcontainers.
Примерно за 1 час и сделал (основная проблема была не в докере, я с запросом ошибся XD)
Запуск с тестами - mvn verify

P.S. мне честно лень делать пример с docker compose + Maven, по идее можно начинать копать с вот этого плагина: https://dmp.fabric8.io. Ну или например: https://github.com/daggerok/docker-compose-maven-plugin-example

то что вы сделали делается одной анотацией @DataJpaTest за одну минуту
вопрос был как затетист цепочку из реста+ кафка+ репа


Ну то есть поднять ещё 1 контейнер с Кафка вы по этому примеру не можете?

И да, расскажите ка, как с помощью dataJpaTest протестировать rest api.
...
Рейтинг: 0 / 0
Тестирование private методов
    #40080738
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот выше советовали EmbedKafka.

Вот Баелдунг пишет очередную статью на тему такого тестинга в Spring-application

https://www.baeldung.com/spring-boot-kafka-testing

По моему вполне себе удобно.

Девопсовские вопросы... всякие там брокеры, кластеры, ЗУ-киперы, репликации нагрузки и SLA и перформанс можно другой темой толкнуть.

Кто за?
...
Рейтинг: 0 / 0
15 сообщений из 215, страница 9 из 9
Форумы / Java [игнор отключен] [закрыт для гостей] / Тестирование private методов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]