maven dependency integration with eclipse
W tym samouczku szczegółowo omówimy integrację Maven z Eclipse i TestNG, zakresem zależności Maven i automatyzacją wdrażania Maven:
W poprzednim samouczku omówiliśmy porównanie między wtyczkami Gradle vs Maven i Maven. W tym samouczku wyjaśniono, jak zintegrować Maven z innymi narzędziami, zależnościami Maven i wdrożeniem Maven.
różnica między testowaniem obciążenia a testem wydajności
Zacznijmy!
=> Odwiedź tutaj ekskluzywną serię samouczków szkoleniowych Maven.
Czego się nauczysz:
- Integracja Maven z Eclipse
- Integracja Maven z TestNG
- Zakres zależności Mavena
- Automatyzacja wdrażania Maven
- Wtyczka Maven Release
- Wniosek
- rekomendowane lektury
Integracja Maven z Eclipse
Jak zintegrować Maven z Eclipse zostało już szczegółowo omówione na ten temat strona
W niektórych scenariuszach, w których budujemy projekt Maven z wiersza poleceń i musimy przenieść ten projekt do Eclipse, należy wykonać następujące kroki.
# 1) Przejdź do lokalizacji pliku pom dla projektu Maven. Uruchom poniższe polecenie.
mvn eclipse: eclipse
# 2) .classpath i .projekt powstanie w miejscu projektu Maven.
Sprawdź, czy wtyczka Maven jest już dostarczona w Eclipse z Windows => Preferencje , Maven powinien tam być. Wszystkie obecne wersje Eclipse mają domyślnie wtyczki Maven, a jeśli ich tam nie ma, możemy je pobrać tutaj .
# 3) Teraz, aby Maven i Eclipse działały w połączeniu, zaimportuj projekt Maven z pliku. Następnie wybierz plik Istniejący projekt Maven.
# 4) Przeglądaj lokalizację projektu i Kontynuuj.

Obraz przedstawiony powyżej przedstawia projekt Maven zaimportowany do Eclipse.
Integracja Maven z TestNG
Jak zintegrować Maven z TestNG zostało szczegółowo omówione na poniższej stronie.
=> Integracja Mavena z TestNg przy użyciu wtyczki Maven Surefire
Chociaż zintegrowaliśmy Maven z TestNG w naszym projekcie, mogą wystąpić sytuacje, w których nasz projekt ma więcej niż jeden plik XML Testng. Na przykład, wszystkie funkcje zestawu regresji są opisane w jednym pliku testng.xml, a przypadki testów poprawności są opisane w drugim pliku testng.xml.
W takiej sytuacji musimy użyć rozszerzenia profil koncepcja w Maven. W pliku pom musimy zdefiniować profile. Każdy jest częścią tagu i jest z nim powiązany.
Plik pom.xml zawierający fragment kodu profilu jest podany poniżej:
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
Zwróć uwagę, że mamy dwa profile powyżej, opisane poniżej, a każdy profil ma przypisany identyfikator. Na przykład, Regresja i Zdrowie psychiczne również w pakiecie suiteXmlFiles zdefiniowaliśmy nazwę pliku Testng xml odpowiadającą identyfikatorowi ( testngRegression.xml i testngSanity.xml ).
konwertuj wiele filmów z YouTube na mp3
Mamy tutaj dwa profile i możemy kontrolować każdy plik Testng za pomocą jednego pliku pom.
Teraz, aby wyzwolić przypadek testowy dla każdego pliku Testng bezpośrednio z wiersza polecenia, musimy przejść do folderu projektu i uruchomić następujące polecenie.
mvn test –PRegression
Po wykonaniu tej czynności Maven przeszukuje profil za pomocą identyfikatora regresji i odpowiadającego mu testngRegression.xml plik. W ten sposób wykonywane są tylko testy tam związane.
Podobnie w przypadku profilu o identyfikatorze Sanity polecenie brzmi:
mvn test –PSanity
Tutaj testngSanity.xml plik służy do określania przypadków testowych do wykonania. Tak więc, aby wyzwolić określony zestaw przypadków testowych, nie musimy modyfikować nazwy pliku TestNG w pom, raczej można to łatwo osiągnąć, utrzymując oddzielne pliki TestNG.
W pliku pom możemy zmapować te pliki i ostatecznie uruchomić je za pomocą profili w Maven z wiersza poleceń.
Zakres zależności Mavena
Maven ma w sumie sześć zakresów wymienionych poniżej.
- Opatrzony
- Test
- System
- Import
- Skompilować
- Runtime
1) Zakres działania
Zależność Maven ma zakres jako środowisko uruchomieniowe i nie jest używana do celów kompilacji. Stanowi ścieżkę klas do uruchamiania i testowania projektu. Poniższy fragment kodu przedstawia zależność zakresu czasu wykonywania.
com.softwaretesting MavenJava 2.3 runtime
# 2) Zakres systemu
Zależność Mavena z zakresem jako systemem jest podobna do podanego zakresu. Zależności systemowe nie mogą być pobierane ze zdalnego repozytorium i zazwyczaj znajdują się w katalogach projektu. Poniższy fragment kodu przedstawia zależność zakresu systemu.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Podany zakres
Zależność Maven, która ma podany zakres, jest wymagana do kompilowania i testowania projektów. Nie zaleca się eksportowania tej zależności, ponieważ są one dostępne w czasie wykonywania. Jednak ta zależność jest wymagana do uruchomienia kompilacji. Poniższy fragment kodu przedstawia podaną zależność zakresu.
najlepsze oprogramowanie do klonowania dla systemu Windows 10
com.test MavenJava2 5.1.1 provided
# 4) Zakres testu
Zależność Maven, która ma zakres testu, nie jest wymagana do kompilowania i uruchamiania projektu. Są one zasadniczo używane do kompilowania i uruchamiania przypadków testów jednostkowych. Poniższy fragment kodu przedstawia zależność zakresu testowego.
com.testing MavenJava3 1.0.2 test
# 5) Zakres importu
W pliku pom plik dependencyManagement sekcja zawiera import zakresu. Oznacza to zależność, która ma zostać zmieniona za pomocą efektywnej grupy zależności podanej w sekcji dependencyManagement pliku pom. Poniższy fragment kodu przedstawia zależność zakresu importu.
com.testhelp MavenJava4 SNAP import pom
# 6) Zakres kompilacji
Zależność Maven, która ma zakres kompilacji, jest domyślną. Ta zależność jest niezbędna do tworzenia, testowania i uruchamiania projektu. Jest to szczególnie ważne, aby rozwiązać kod źródłowy Java zawierający instrukcje importu. Poniższy fragment kodu przedstawia zależność zakresu kompilacji.
logging log 2.1.3 compile
Automatyzacja wdrażania Maven
Wdrożenie projektu jest fazą krytyczną i obejmuje wiele etapów określonych poniżej:
- Kod opracowany do sprawdzenia w repozytorium.
- Kod źródłowy do pobrania z repozytorium.
- Kompilacja i budowa aplikacji oraz generowanie plików JAR lub WAR.
- Umieszczenie zidentyfikowanych plików JAR lub WAR w znanej lokalizacji sieciowej.
- Załaduj pliki JAR lub WAR.
- Wdróż pobrane pliki JAR lub WAR na serwerze docelowym.
- Nowy numer wersji aplikacji i data aktualizacji w dokumentacji.
Powyższe czynności wykonuje każdy członek zespołów zaangażowanych w projekt. Z wyżej wymienionych kroków, jeśli ktoś zostanie pominięty lub cokolwiek nie jest dobrze zrobione, to kończy się to awaria kompilacji i wdrożenia . Jeśli więc występują jakieś błędy, należy je naprawić automatycznie.
Maven postępuje zgodnie z metodą automatyzacji wdrażania, aby wdrażanie było automatyczne i niezawodne. Osiąga się to poprzez połączenie poniższych procesów:
- Budowa i wydanie projektu pod opiekę Mavena.
- Kod źródłowy do zarządzania przez subversion i repozytorium kodu źródłowego.
- Pliki binarne projektu do obsługi zdalnego menedżera repozytorium.
Za zautomatyzowany proces kompilacji i wydawania Mavena odpowiada wtyczka Maven Release. Plik pom.xml należy zaktualizować zgodnie z poniższym opisem.
Poniższy kod dotyczy projektu pom.xml com.softwaretestHelp
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
Najważniejsze funkcje w powyższym pliku pom.xml są wymienione poniżej:
- SCM : Lokalizacja SVN (gdzie obecny jest kod źródłowy) jest konfigurowana przez SCM.
- Repozytoria : To jest lokalizacja plików JAR, WAR lub EAR lub wszelkich innych artefaktów projektu po pomyślnym zakończeniu budowania projektu.
- Podłącz : Automatyzacja wdrażania przeprowadzana przez wtyczkę Maven.
Wtyczka Maven Release
Wtyczka Maven wykonuje następujące czynności:
- wydanie mvn: czyste - Czyści obszar roboczy poprzedniej kompilacji przed nadejściem przyszłej kompilacji.
- wydanie mvn: wycofanie - W przypadku niepowodzenia poprzedniej kompilacji, przywraca się do obszaru roboczego.
- wydanie mvn: przygotuj - Sprawdza, czy są jakieś niezatwierdzone zmiany w plikach, czy nie. Sprawdza również zależności migawek i aktualizuje numer wersji aplikacji. Modyfikuje pom do SCM. Dba o wykonanie przypadku testowego i zatwierdza ostateczny kod do SCM. Wykonuje tagowanie kodu w subversion. Wreszcie, numer wersji jest zwiększany i dołączany do SNAPSHOT dla innych wydań w przyszłości przez tę wtyczkę.
- wydanie mvn: wykonaj - Sprawdza kod obecny w repozytorium, a następnie uruchamia cele kompilacji Maven, aby wdrożyć artefakt kompilacji w repozytorium.
Na koniec musimy uruchomić poniższe polecenie, aby zbudować projekt:
mvn release: prepare
Po pomyślnym zakończeniu kompilacji uruchom następujące polecenie:
mvn release: perform
Teraz plik WAR jest przesyłany do repozytorium.
Wniosek
Mamy nadzieję, że główne części integracji Mavena z Eclipse, jego integracja z TestNG, profilami Maven, zakres zależności Mavena i automatyzacja wdrażania Mavena powinny być teraz zrozumiałe. Omówiliśmy również tutaj większość zakresów zależności.
W przypadku procesu wdrażania Mavena szczegółowo zbadaliśmy wszystkie kroki i wyjaśniliśmy niektóre wtyczki do wydania Maven. Przeczytaj tematy, a stopniowo zrozumiesz prawdziwą istotę wykorzystania Mavena w naszej pracy.
Będziemy kontynuować serię i zbierać wiedzę na temat integracji Maven Jenkins, pytań do wywiadów z Maven itp. W naszych nadchodzących samouczkach.
=> Sprawdź WSZYSTKIE samouczki Maven tutaj.
rekomendowane lektury
- Co to jest Maven - samouczek Maven dla początkujących
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Samouczek TestNG: Wprowadzenie do Framework TestNG
- Samouczek Eclipse: Integracja TestNG w środowisku Eclipse Java IDE
- Konfigurowanie Mavena za pomocą Eclipse Java IDE
- Wtyczki Gradle Vs Maven i Maven
- Maven With Jenkins & Maven Dokumentacja projektów
- Integracja Mavena z TestNg przy użyciu wtyczki Maven Surefire