TGViewer
Грамота от Кузьмича Грамота от Кузьмича @java_ot_kuzmicha · 208 subscribers
Post #77 645
В Java придумали отдельный котел🔥🍲 для тех, кто хочет с наскоку собрать проект с аллюром - человека ждут семь кругов ада в попытке вспомнить все нужные зависимости и настройки. А заканчивается все отчаянной копипастой из соседнего рабочего проекта.

Я же предлагаю тебе превратить магический ритуал в четкий рецепт из 6 компонентов, разобрав предназначение каждого. Погнали:

1. 📦зависимость TestNG или JUnit 5
Позволяет писать и запускать тесты. С этой библиотекой к нам приходит всесильный @Test и всякие @Before-After. Уже только этого достаточно что бы писать и запускать тесты.

2. 📦зависимость allure-testng или allure-junit5
Сам аллюр, но с двумя разными вкусами - апельсиновым и яблочным вариантами - для проекта с тестами на JUnit или на TestNG. Эта зависимость принесет с собой все аллюровские аннотации типа @Step, @Attachment, @Epic. А еще с ней начнут генерироваться результаты прогона тестов в папку allure-results. Правда, неполные. И без информации о шагах. И в виде json-данных. И никакого красивого отчета тут не светит.

3. 📦зависимость aspectjweaver
Особенность аллюра - аллюр использует AOP (аспектно ориентированные программирование) для обработки данных из его аннотаций типа @Step, и включения их информации в отчет. Для работы AOP нужен AspectJ, иначе аннотции аллюра не будут работать, а заботливо написанные тобой шаги так и останутся в коде и не попадут в репорт.

4. 🛠плагин maven-surefire-plugin
Этот плагин отвечает за запуск тестов через Maven - именно он работает под капотом команды 'mvn test'. Ранее упомянутый AspectJ должен работать во время выполнения тестов, поэтому плагин surefire надо об этом предупредить - добавить для него конфигурацию:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
</configuration>
</plugin>


Не забудь задать в pom.xml значение переменной aspectj.version - должно совпадать с версией зависимости aspectjweaver:
<properties>
<aspectj.version>1.9.22.1</aspectj.version>
</properties>


5. 🛠плагин allure-maven
Содержит два самых важных действия для нас, две самых важных команды в плагине:
allure:report - она словно бариста превратит сырые кофейные зерна (json-данные из allure-results) в чашку ароматного эспрессо - папку с html-страницей отчета.
allure:serve - подает нам эту чашку, т.е. запускает локальный сервер на котором хостит страницу отчета и открывает ее в браузере.

<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.15.2</version>
</plugin>


6. 📄файл allure.properties
этот файл должен лежать в директории test/java/resources - он используется что бы указать аллюру куда должны сгенерироваться сырые json-данные, на базе которых потом можно будет собрать отчет. Содержимое файла выглядит так:
allure.results.directory=target/allure-results

Так что все просто - используем тестовый фреймворк (1) и размечаем наши тесты аллюр аннотациями (2), а что бы аннотации аллюра считывались - дружим между собой aspectj (3) и surefire-плагин (4), после чего с помощью плагина аллюра (5) забираем данные из папки, указанной в файле allure.properties (6) и создаем отчет!

⚠️Лайкай, делись с друзьями и с коллегами! Помогай автору не терять мотивацию😁
А главное залетай в комментарии - какую еще тему хотел бы так разобрать?
  • 🔥 18
  • 👍 11
  • ❤ 6
  • 😁 1
More from @java_ot_kuzmicha
  1. Jul 28, 2026Добавляю краски в музыку🟥🟨🟦🟧🟩 Пришла мне тут шальная мысль - что если каждый альбом к…
  2. Dec 10, 2025Более жизовые итоги чем эти ваши я.музыка или спотифаи. Кстати, че бы еще вы добавили в та…
  3. Nov 24, 2025уже пора?🤔 тренды все-таки
  4. Nov 19, 20253 из 25 - это не про лото и не про биатлон. Для тех кто пропустил релиз Java 25 - смотрим…
  5. Nov 1, 2025в рабочую субботу законодательно запрещены посты на серьезные темы. поэтому вот вам веселы…
  6. Oct 9, 2025Достал такое из почтового ящика. Скажите, кто вызывал таких мастеров - а с деплоем в прод…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →