maven dependency integration with eclipse
У цьому посібнику ми детально обговоримо інтеграцію Maven із Eclipse та TestNG, Сферою залежності Maven та Автоматизацією розгортання Maven:
У попередньому підручнику ми обговорили порівняння між Gradle та Maven та Maven Plugins. Цей посібник пояснює, як інтегрувати Maven з іншими інструментами, залежність Maven та розгортання Maven.
етап тестування життєвого циклу розробки програмного забезпечення
Давайте розпочнемо!
=> Завітайте сюди, щоб ознайомитись із ексклюзивними навчальними посібниками Maven.
Що ви дізнаєтесь:
- Інтеграція Maven із Eclipse
- Інтеграція Maven з TestNG
- Сфера залежності Maven
- Автоматизація розгортання Maven
- Плагін випуску Maven
- Висновок
- Рекомендована література
Інтеграція Maven із Eclipse
Про те, як інтегрувати Maven з Eclipse, вже було детально обговорено з цього приводу сторінки
У певних сценаріях, коли ми будуємо проект Maven з командного рядка, і нам потрібно перенести цей проект до Eclipse, тоді слід виконати наступні кроки.
# 1) Перейдіть до розташування файлу pom для проекту Maven. Виконайте наведену нижче команду.
mvn eclipse: затемнення
# 2) .classpath і .проект буде створено в місці, де знаходиться проект Maven.
Переконайтеся, що плагін Maven вже передбачений в Eclipse from Windows => Налаштування , Мейвен повинен бути присутнім там. У всіх поточних версіях Eclipse за замовчуванням є плагіни Maven, і якщо їх немає, ми можемо отримати їх із тут .
# 3) Тепер, щоб змусити Maven та Eclipse працювати спільно, імпортуйте проект Maven із файлу. Потім виберіть Існуючий проект Maven.
# 4) Перегляньте місце розташування проекту і продовжуйте.

На зображенні, зображеному вище, показано проект Maven, імпортований до Eclipse.
Інтеграція Maven з TestNG
Про те, як інтегрувати Maven із TestNG, детально розглянуто на нижченаведеній сторінці.
=> Інтеграція Maven з TestNg за допомогою плагіна Maven Surefire
Незважаючи на те, що ми інтегрували Maven із TestNG у наш проект, можуть бути ситуації, коли в нашому проекті є більше ніж один xml-файл Testng. Наприклад, всі функції набору регресії описані в одному testng.xml, а випадки перевірки розумності - в іншому файлі testng.xml.
У такій ситуації нам потрібно використовувати профіль концепція в Maven. У файлі pom ми повинні визначити профілі. Кожен із них є частиною тегу та пов’язаний із ним.
Нижче наведено файл pom.xml, що містить фрагмент коду профілів:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Зверніть увагу, що у нас є два профілі, описані нижче, і кожен із них має ідентифікатор. Наприклад, Регресія і Розумність також під файлом suiteXmlFiles ми визначили ім'я файлу xml Testng, що відповідає ідентифікатору ( testngRegression.xml і testngSanity.xml ).
найкраще розширення блокуючого спливаючого вікна для chrome -
Таким чином, у нас тут є два профілі, і ми можемо управляти кожним файлом Testng за допомогою одного файлу pom.
Тепер для того, щоб запустити тест для кожного файлу Testng безпосередньо з командного рядка, нам потрібно перейти до папки проекту та виконати наступну команду.
mvn test –PRegression
Щойно це буде виконано, Maven здійснює пошук у профілі з ідентифікатором Regression та відповідним testngRegression.xml файл. Таким чином, виконуються лише тести, задіяні там.
Аналогічно, для профілю з ідентифікатором Sanity команда:
mvn test –PSanity
Ось testngSanity.xml файл використовується для визначення тестових випадків, які слід виконати. Таким чином, для запуску певного набору тестових випадків нам не потрібно змінювати ім'я файлу TestNG у пам’яті, швидше за все, це можна легко досягти, підтримуючи окремі файли TestNG.
У файлі pom ми можемо зіставити ці файли і нарешті запустити їх за допомогою профілів у Maven з командного рядка.
Сфера залежності Maven
Maven має загалом шість областей, як зазначено нижче.
- За умови
- Тест
- Система
- Імпорт
- Скласти
- Час роботи
# 1) Сфера виконання
Залежність Maven має сферу дії як час виконання і не використовується для побудови. Це являє собою шлях до класу для запуску та тестування проекту. У наведеному нижче фрагменті коду показано залежність області дії.
com.softwaretesting MavenJava 2.3 runtime
# 2) Сфера застосування системи
Залежність Maven від сфери дії як система має схожість із наданою сферою. Залежності системи не можна завантажити з віддаленого сховища, і вони, як правило, знаходяться в каталогах проекту. Наведений нижче фрагмент коду показує залежність системної області.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Наданий обсяг
Залежність Maven, яка має передбачений обсяг, необхідна для побудови та тестування проектів. Не рекомендується експортувати цю залежність, оскільки вона доступна під час виконання. Однак ця залежність необхідна для запуску збірки. Нижче фрагмент коду показує надану залежність області.
com.test MavenJava2 5.1.1 provided
# 4) Обсяг тесту
Залежність Maven, яка має обсяг тесту, не потрібна для побудови та запуску проекту. Вони по суті використовуються для складання та запуску модульних тестових кейсів. У наведеному нижче фрагменті коду показано залежність обсягу тесту.
com.testing MavenJava3 1.0.2 test
# 5) Сфера імпорту
Усередині файлу pom, файл залежністьУправління розділ містить область імпорту. Це означає залежність, яку слід змінити, з ефективною групою залежностей, наданою в розділі dependencyManagement файлу pom. Наведений нижче фрагмент коду показує залежність області імпорту.
com.testhelp MavenJava4 SNAP import pom
# 6) Скомпілювати сферу дії
Залежність від Maven, яка має область компіляції, є типовою. Ця залежність є важливою для побудови, тестування та запуску проекту. Це в основному важливо для вирішення вихідного коду Java, який має оператори імпорту. Наведений нижче фрагмент коду показує залежність області компіляції.
logging log 2.1.3 compile
Автоматизація розгортання Maven
Розгортання проекту є критичною фазою і включає кілька етапів, визначених, як зазначено нижче:
- Код, розроблений для перевірки у сховищі.
- Вихідний код для завантаження зі сховища.
- Компіляція та побудова програми та створення файлів JAR або WAR.
- Переміщення ідентифікованих файлів JAR або WAR у знайоме мережеве розташування.
- Завантажте файли JAR або WAR.
- Розгорніть завантажені файли JAR або WAR на цільовий сервер.
- Номер нової версії програми та дата, яку слід оновити в документації.
Вищезазначені кроки виконує кожен член команд, що беруть участь у проекті. З перелічених вище кроків, якщо когось пропускають або щось не зроблено належним чином, це призводить до збій збірки та розгортання . Тож між ними, якщо є якісь помилки, їх потрібно виправляти автоматично.
Maven дотримується методу автоматизації розгортання, щоб зробити розгортання автоматичним та надійним. Це досягається поєднанням перелічених нижче процесів:
- Створення та випуск проекту, яким повинен опікуватися Maven.
- Вихідний код, яким буде керувати диверсія та сховище вихідного коду.
- Проектуйте двійкові файли, щоб піклуватися про віддаленого менеджера сховища.
Автоматизований процес збірки та випуску Maven забезпечується плагіном Maven Release. Файл pom.xml слід оновити, як показано нижче.
Наведений нижче код призначений для проекту com.softwaretestHelp pom.xml
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
Основні функції у наведеному вище файлі pom.xml перелічені нижче:
Команда grep в unix з прикладами
- SCM : Розташування SVN (де присутній вихідний код) налаштовано SCM.
- Сховища : Це місце розташування файлів JAR, WAR чи EAR або будь-якого іншого артефакту проекту після успішного завершення побудови проекту.
- Підключати : Автоматизація розгортання, здійснена плагіном випуску Maven.
Плагін випуску Maven
Плагін випуску Maven виконує такі дії:
- випуск mvn: чистий - Це очищає робочу область попередньої збірки до прибуття майбутньої збірки.
- випуск mvn: відкат - У разі виходу з ладу попередньої збірки він відскакує до робочої області.
- випуск mvn: підготуйте - Він перевіряє, чи є якісь незмінені зміни у файлах чи ні. Також перевіряє залежності знімків та оновлює номер версії програми. Він змінює пам на SCM. Він піклується про виконання тестового випадку і робить остаточний код коду для SCM. Він здійснює позначення коду в диверсії. Нарешті, номер версії збільшується та додається до SNAPSHOT для інших випусків у майбутньому цим плагіном.
- випуск mvn: виконати - Він перевіряє код, який присутній у сховищі, а потім запускає цілі збірки Maven для розгортання артефакту збірки у сховищі.
Нарешті, нам потрібно виконати наведену нижче команду для побудови проекту:
mvn release: prepare
Після успішного завершення збірки виконайте таку команду:
mvn release: perform
Тепер файл WAR завантажується до сховища.
Висновок
Ми сподіваємось, що основні частини інтеграції Maven з Eclipse, її інтеграція з TestNG, профілі Maven, область залежності Maven та автоматизація розгортання Maven повинні бути зрозумілими вже зараз. Крім того, ми обговорили тут більшість областей залежностей.
Для процесу розгортання Maven ми детально вивчили всі кроки та пояснили деякі плагіни випуску Maven. Прочитайте теми, і поступово ви зрозумієте справжню суть використання Maven у нашій роботі.
Ми продовжимо серію та будемо збирати знання щодо інтеграції Мейвена Дженкінса, питань співбесіди з Мейвеном тощо у наших майбутніх уроках.
=> Перевірте ВСІ підручники Maven тут.
Рекомендована література
- Що таке Maven - Підручник Maven для початківців
- Поглиблені підручники Eclipse для початківців
- Підручник з TestNG: Вступ до Framework TestNG
- Підручник з Eclipse: Інтеграція TestNG в IDE Eclipse Java
- Налаштування Maven за допомогою Eclipse Java IDE
- Gradle Vs Maven і Maven Plugins
- Maven With Jenkins & Maven Документація до проектів
- Інтеграція Maven з TestNg за допомогою плагіна Maven Surefire