powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Юнит тест не "полагаясь" на бд. как?
14 сообщений из 39, страница 2 из 2
Юнит тест не "полагаясь" на бд. как?
    #39715574
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловandreykaTу тебя никогда не бывало что ты поменял какой то флоу и у тебя попадо половина тестов покрывающих код который ты пошатал? при этом код работает правильно.Реальный кейс: приходит заказчик и говорит "у нас тут все тупит", смотришь что там происходит и видишь: наркоманы реализовали иерархическую структуру и большинство внешних вызовов у них не child-parent, а child-root реализованный через цикл по child-parent; сколько стоит починить? условно день: переделать сохранение child и перемещение root; переделываешь, а потом смотришь что там моков налепили на неделю работы.
Я не согласен. Вы в тему модульного тестирования втащили тему тестов перформанса. Нисколько не умаляя их значимости тем не менее я считаю что это совсем другая задача и к топику она имеет далёкое отношение. Там - другие подходы и другие принципы.
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715576
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ не согласен. Вы в тему модульного тестирования втащили тему тестов перформанса. Нисколько не умаляя их значимости тем не менее я считаю что это совсем другая задача и к топику она имеет далёкое отношение. Там - другие подходы и другие принципы.

Там речь не о перфомансе. Речь о том, что когда на каждый чих бездумно понатыкано моков, то при малейшей смене сигнатуры метода, тебе надо будет фиксить все места, где этот мок вызывается. Модифицировать тестовые данные и тд. И зачастую на это реально уйдет времени больше чем на фикс. Зато покрытие 100%

Вообще я уже отвык конечно от этого, при ФП не надо никаких моков и инжекшенов, все функции pure и total а тестовые данные не хардкодятся а генерируются по алгоритму(если интересно то гуглить про property-based testing)
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715597
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ааа. хочу фп!
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715726
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никВообще я уже отвык конечно от этого, при ФП не надо никаких моков и инжекшенов, все функции pure и total а тестовые данные не хардкодятся а генерируются по алгоритму(если интересно то гуглить про property-based testing)
Круть.
Завидую.
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715734
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловmaytonМоки - это правильный ответ. Но писать хорошие тесты - большое искусство.Моки к хорошим тестам никакого отношения не имеют, потому что все моки выглядят примерно так: Покритикуйте/оцените spring-boot приложение - это зло которое лучше избегать при любом удобном случае.

Поскольку это мой проект могу рассказать что база там создаётся каждый раз при старте тестов на travis-ci. Структура заполняется при помощи flyway и тесты запускаются на реальной базе.

С уважением, Валентин
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715738
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый интересный файл проекта.

Ссыль .

Написан не на java.

С уважением, Валентин
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715790
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прямо как в 90-е вернулся. раньше так 18 лет назад на пыхе писали. здесь прекрасно всё )) и строк много и хтмл разметка вперемежку с кодом и цсс(вроде) и работа с файлами ))
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715832
cossack5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Мне вот это "понравилось":
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
  UserService(InUserRepository inUserRepository,
            InUserLoginRepository inUserLoginRepository,
            InUserLogoutRepository inUserLogoutRepository,
            GoalRepository goalRepository,
            InUserGoalRepository inUserGoalRepository,
            DataurlValidator dataurlValidator,
            NameValidator nameValidator,
            SendEmailService sendEmailService,
            AdminProgramAssignService adminProgramAssignService) {


Я конечно понимаю, constructor injection - это хорошо, но в данном случае, слишком много аргументов.
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715838
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь SonarQube должен ругнутся.
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39715851
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cossack5andreykaT,

Мне вот это "понравилось":
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
  UserService(InUserRepository inUserRepository,
            InUserLoginRepository inUserLoginRepository,
            InUserLogoutRepository inUserLogoutRepository,
            GoalRepository goalRepository,
            InUserGoalRepository inUserGoalRepository,
            DataurlValidator dataurlValidator,
            NameValidator nameValidator,
            SendEmailService sendEmailService,
            AdminProgramAssignService adminProgramAssignService) {


Я конечно понимаю, constructor injection - это хорошо, но в данном случае, слишком много аргументов.
клин код говорит что два аргумента это лимит адекватности, три аргумента это трэш угар и израиль. интересно что бы автор сказал про 9 аргументов у конструктора?
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39716046
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTинтересно что бы автор сказал про 9 аргументов у конструктора?
накатал еще одну главу по рефакторингу :)
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39716065
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpashaнакатал еще одну главу по рефакторингу :)
где?
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39716223
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopгде?
мы употребляли условное наклонение - то есть, если бы автор увидел такой конструктор, то накатал бы статью, как такое отрефакторить ;)
...
Рейтинг: 0 / 0
Юнит тест не "полагаясь" на бд. как?
    #39717379
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗдесь SonarQube должен ругнутся.

Добавил SonarQube для проекта .

С уважением, Валентин
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Юнит тест не "полагаясь" на бд. как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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