Обновить
147.64

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Полное руководство по расширениям JUnit 5

Время на прочтение27 мин
Охват и читатели47K

JUnit - одна из самых популярных сред модульного тестирования в экосистеме Java. Версия JUnit 5 (также известная как Jupiter) содержит множество интересных нововведений, включая поддержку новых функций в Java 8 и выше. Однако многие разработчики по-прежнему предпочитают использовать среду JUnit 4, поскольку некоторые функции, такие как параллельное выполнение в JUnit 5 все еще находятся в экспериментальной фазе.

За исключением нескольких незначительных вещей, JUnit 5 по-прежнему представляет собой важный шаг вперед в эволюции тестовой среды, поскольку он предоставляет расширенные аннотации, которые позволяют тестировать реактивные приложения. 

По моему опыту, JUnit 5 - лучшая версия JUnit. Новая структура также включает расширяемую архитектуру и совершенно новую модель расширений, которая упрощает реализацию пользовательских функций.

В этом руководстве по JUnit мы подробно рассмотрим расширения JUnit 5 - одну из основных функций платформы JUnit 5.

Читать далее

Разработка Telegram-бота на JAVA для генерации и считывания QR-кодов

Время на прочтение16 мин
Охват и читатели20K

пример разработки Tekegram-бота, функционал которого позволяет сканировать и генерировать QR-коды. Плюсы использования Telegram-бота в сравнении с традиционными приложениями-сканерами это: отсутствие необходимости устанавливать дополнительный софт (при наличии Telegram, естественно), возможность чтения цифровых изображений без использования камеры (например, из галереи или с web-сайта) и кроссплатформенность. Логика работы бота проста – отправляешь боту QR-код, в ответе получаешь расшифрованную информацию, отправляешь текст – в ответе получаешь QR-код. Просто? Да! Удобно? Несомненно!

Читать далее

Advent of Code с нами уже 7 лет

Время на прочтение1 мин
Охват и читатели4.7K

Приближается декабрь, а значит и ежегодный праздник программирования - Advent Of Code. Для тех кто устал перекладывать JSON-ы и шлепать формы.

Читать далее

Ожидаемое исключение JUnit 5

Время на прочтение3 мин
Охват и читатели43K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

В JUnit 5, чтобы написать тестовый код, который, как ожидается, вызовет исключение, мы должны использовать Assertions.assertThrows().

В данном примере ожидается, что тестовый код в комментированном блоке вызовет исключение типа ApplicationException.

Читать далее

Туториал по JUnit 5 - Аннотация @RepeatedTest

Время на прочтение4 мин
Охват и читатели9.6K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @RepeatedTest используется для написания повторяющихся тестовых шаблонов, которые могут выполняться несколько раз в JUnit. Частоту повторения можно настроить как параметр аннотации @RepeatedTest.

Читать далее

Туториал по JUnit 5  - Аннотация @Disabled

Время на прочтение2 мин
Охват и читатели6.9K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотацию JUnit 5 @Disabled можно использовать для исключения методов тестирования из набора тестов. Эта аннотация может применяться как к классу тестирования, так и к отдельным методам тестирования.

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

Читать далее

Возможности Java 17 и рекомендации по миграции

Время на прочтение14 мин
Охват и читатели32K

Java значительно изменилась с годами. Прочтите сравнение версий 8 и 17 и узнайте ответ на вопрос: стоит ли обновляться?

Через несколько месяцев, в марте 2022 года, Java 8 закончится поддержка Oracle Premier Support. Это не означает, что он не будет получать никаких новых обновлений, но усилия Oracle, вложенные в его поддержку, вероятно, будут значительно меньше, чем сейчас.

Это означает, что будет веская причина для перехода на новую версию, тем более, что 14 сентября 2021 года была выпущена Java 17. Это новая версия долгосрочной поддержки, с Oracle Premier Support, которая продлится до сентября 2026 года (как минимум). 

Что дает Java 17? Насколько трудной будет миграция? Стоит ли оно того? 

Я постараюсь ответить на эти вопросы в этой статье.

Читать далее

Туториал по JUnit 5 - Аннотация @ParameterizedTest

Время на прочтение7 мин
Охват и читатели91K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @ParameterizedTest, позволяет выполнить тест несколько раз, но с разными аргументами.

Описаны различные варианты указания источника аргументов, предоставляющего аргументы для каждого вызова, которые будут использоваться в тестовом методе.

Читать далее

Подробное руководство по инверсии зависимостей. Часть 2. Application модуль

Время на прочтение40 мин
Охват и читатели6.1K

Я, aa0ndrey, приветствую вас и приглашаю продолжить обсуждение темы инверсии зависимостей. В рамках данной финальной части будет рассмотрен application модуль. Будут определена его ответственность и будет рассмотрено то, как он взаимодействует со всеми остальными модулями.

Примеры, как и раньше, приведены на языке программирования java, но используются исключительно простые конструкции, чтобы любой читатель, понимающий на самом базовом уровне синтаксис java, смог понять данную статью.

Читать далее

Туториал по JUnit 5 - Аннотация @AfterAll

Время на прочтение3 мин
Охват и читатели6.1K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация JUnit 5 @AfterAll является заменой аннотации @AfterClass в JUnit 4. Она используется как метод очистки для тестового класса.

@AfterAll используется для обозначения того, что аннотированный метод должен быть выполнен после всех тестов в текущем тестовом классе.

Читать далее

Туториал по JUnit 5 - Аннотация @AfterEach

Время на прочтение2 мин
Охват и читатели7.4K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @AfterEach используется для обозначения того, что аннотированный метод должен выполняться после каждого метода, помеченного @Test, @RepeatedTest, @ParameterizedTest, или @TestFactory в текущем классе.

Аннотация JUnit 5 @AfterEach является заменой аннотации @After в JUnit 4.

Читать далее

Туториал по JUnit 5 - Аннотация @BeforeEach

Время на прочтение3 мин
Охват и читатели19K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @BeforeEach используется для обозначения того, что аннотированный метод должен выполняться перед каждым методом @Test, @RepeatedTest, @ParameterizedTest, или @TestFactory в текущем классе.

Аннотация JUnit 5 @BeforeEach является одним из методов жизненного цикла и заменяет аннотацию @Before в JUnit 4.

Читать далее

Туториал по JUnit 5 - Аннотация @BeforeAll

Время на прочтение2 мин
Охват и читатели21K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация JUnit 5 @BeforeAll обозначает метод, который является методом жизненного цикла. @BeforeAllэто замена @BeforeClassаннотации в JUnit 4.

Читать далее

Ближайшие события

Как внедрить Contract-First OpenAPI и как устроен центр авторизаций

Время на прочтение1 мин
Охват и читатели4.1K

Переходим к докладам по backend с IT-конференции ЮMoneyDay.

Первый кейс о том, как мы внедряли Contract-First. Описали процесс перехода от Сode-First к написанию OpenAPI-спецификаций и генерации кода по ним.

Во втором кейсе разбираем анатомию центра авторизаций. Рассказали, как организовать разработку и поддержку множества критичных процессов и спокойно спать по ночам.

Смотреть доклады по backend

Spring Cloud Config — обновление конфигурации

Время на прочтение8 мин
Охват и читатели43K

Spring Cloud Config позволяет хранить настройки конфигурации сервисов в git-репозитории и управлять настройками централизованно.

В этой статье поговорим об обновлении параметров, получаемых с сервера конфигурации.

Читать далее

Туториал по JUnit 5 - Жизненный цикл JUnit 5 теста

Время на прочтение4 мин
Охват и читатели21K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

В JUnit 5 жизненный цикл теста управляется четырьмя основными аннотациями, то есть @BeforeAll, @BeforeEach, @AfterEach и @AfterAll. Вместе с тем, каждый тестовый метод должен быть помечен аннотацией @Test из пакета org.junit.jupiter.api.

Читать далее

Туториал по JUnit 5  - Введение

Время на прочтение6 мин
Охват и читатели156K

В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.

JUnit 5 - наиболее широко используемая среда тестирования для приложений Java. JUnit долгое время отлично справлялся со своей задачей.

Между тем, JDK 8 привнес в java интересные функции и, в первую очередь, лямбда-выражения. JUnit 5 был нацелен на адаптацию стиля программирования Java 8; вот почему Java 8 является минимально необходимой версией для создания и выполнения тестов в JUnit 5 (хотя можно запускать тесты, написанные с помощью JUnit 3 или JUnit 4 для обратной совместимости).

Читать далее

WEKA. Руководство по использованию

Время на прочтение4 мин
Охват и читатели19K

Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой.

Читать далее

Senior Java Developer — как проходят собеседования

Время на прочтение5 мин
Охват и читатели54K

Я прошел за свою деятельность больше 100 собеседований на позиции Senior Java Developer, и скажу я вам, что накопилось много интересных моментов, которыми и хочется поделиться.

Это не инструкция для прохождения собеседований, со списком вопросов.

Читать далее

IT Nights 2021: тайна возвращения образовательного IT-шоу

Время на прочтение5 мин
Охват и читатели2.1K

Технические специалисты FIIO отправили в Татарстан специализированный стелс-дрон под кодовым обозначением Order256, который позволил проникнуть в кибернетизированную систему Иннополиса и выяснить подробности.

На данный момент Order256 сумел установить, что мероприятие шифруется под кодовым именем IT Nights 3:0, и ведется застройка секретного бункера в Университете Иннополис. Нам удалось получить сведения и о некоторых человеческих объектах, согласившихся сделать доклады в рамках рассекреченной конференции. 

Дешифрованный список спикеров прилагается к данному файлу.

Снять гриф секретности

Вклад авторов