Skip to content

Conversation

@Slavakorgg
Copy link
Owner

No description provided.

@Slavakorgg
Copy link
Owner Author

Slavakorgg commented Jul 2, 2025

Проблема в проверке на покрытии кода тестами.
Warning: Rule violated for bundle shareit-server: lines covered ratio is 0.8, but expected minimum is 0.9
Я уже написал тесты для всего абсолютно и просто не понимаю куда их ещё пихнуть. Сроки сильно поджимают, а нужные строки для покрытия их тестами очень долго найти не могу... Все тесты в постмане проходят.
image

Copy link

@EugeneLenkevich EugeneLenkevich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Привет, Вячеслав! Спасибо за PR.
В целом. Я добавил опциональный момент для улучшения. Но самое главное - сборка, она должны быть зеленая, иначе заругают :)

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

public BookingClient(@Value("${shareit-server.url}") String serverUrl, RestTemplateBuilder builder) {
super(
builder
.uriTemplateHandler(new DefaultUriBuilderFactory(serverUrl + API_PREFIX))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот тут есть моментик, который можно улучшить :)

В самом клиенте происходит создание и настройка web-клинента. С архитектурной точки зрения это не очень хорошо, клиент занимается своей настройкой, это не его обязаность. Настройку лучше вынести вовне. Можно сделать конфигурацию бина и, далее, он, настроенный, будет инжектится как и остальные бины.

Единственное, аннотацию @service надо убрать, вообще, это альтернативный способ объявления бинов: мы можем на класс повесить аннотацию или создать такую вот конфигурацию если требуется провести какую то настройку при создании

Пример вот, только подправь под свою реализацию

image

Таким образом мы можем иметь разные настройки клиентов для разных сред: допустим на продакшн-сервере с TLS, сертификатами и пр, на тестововм стенде простое соединение, а для локального запуска мы можем, например, вообще создать заглушку, которая будет возвращать статический текст :)

https://www.baeldung.com/spring-profiles

Copy link

@EugeneLenkevich EugeneLenkevich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.8

То есть вот это помогло? Я как то постеснялся этот вариант предложить :)

@Slavakorgg Slavakorgg merged commit b34a7cf into main Jul 2, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants