Patrząc na dokumentację http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , możemy zobaczyć <scope>
tag pod<dependency>
Co to jest i jak możemy go wykorzystać do uruchomienia testu?
Patrząc na dokumentację http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , możemy zobaczyć <scope>
tag pod<dependency>
Co to jest i jak możemy go wykorzystać do uruchomienia testu?
Odpowiedzi:
<scope>
Element 6 może mieć wartości: kompilacji , pod warunkiem , wykonawcze , testowe , systemu i import .
Ten zakres służy do ograniczenia przechodniości zależności, a także do zmiany ścieżki klas używanej do różnych zadań kompilacji.
skompilować
Jest to zakres domyślny, używany, jeśli nie określono żadnego. Zależności kompilacji są dostępne we wszystkich ścieżkach klas projektu. Ponadto te zależności są propagowane do zależnych projektów.
opatrzony
Jest to bardzo podobne do kompilacji, ale wskazuje, że oczekujesz, że JDK lub kontener zapewni zależność w czasie wykonywania. Na przykład podczas budowania aplikacji WWW dla Java Enterprise Edition należy ustawić zależność od interfejsu API serwletu i powiązanych interfejsów API Java EE w zakresie podanym, ponieważ kontener WWW udostępnia te klasy. Ten zakres jest dostępny tylko w ścieżce klas kompilacji i testów i nie jest przechodni.
środowisko uruchomieniowe
Ten zakres wskazuje, że zależność nie jest wymagana do kompilacji, ale do wykonania. Jest w środowisku wykonawczym i testuje ścieżki klas, ale nie kompiluje ścieżki klas.
test
Ten zakres wskazuje, że zależność nie jest wymagana do normalnego użytkowania aplikacji i jest dostępna tylko dla faz kompilacji testów i wykonywania.
system
Ten zakres jest podobny do podanego, z tym wyjątkiem, że musisz podać jawny plik JAR, który go zawiera. Artefakt jest zawsze dostępny i nie jest przeszukiwany w repozytorium.
import (dostępne tylko w Maven 2.0.9 lub nowszym)
Ten zakres jest używany tylko w zależności od typu pom w sekcji. Wskazuje, że określony POM należy zastąpić zależnościami w tej sekcji POM. Ponieważ są zastępowane, zależności z zakresem importu nie biorą udziału w ograniczaniu przechodniości zależności.
Aby odpowiedzieć na drugą część pytania:
Jak możemy go użyć do uruchomienia testu?
Zauważ, że test
zakres pozwala używać zależności tylko dla fazy testowej.
Przeczytaj dokumentację, aby uzyskać szczegółowe informacje.
Sześć zakresów zależności:
src/main
isrc/test
src/test
<dependencyManagement/>
, dostępne tylko w Maven 2.0.9 lub nowszej wersjiTag zasięgu jest zawsze używany do ograniczenia zależności przechodnich i dostępności jar na poziomie ścieżki klasy. Jeśli nie podamy żadnego zakresu, domyślny zakres będzie działał, tj . Kompiluj .
Jeśli nie podamy żadnego zakresu, wówczas domyślnym zakresem jest kompilacja. Jeśli chcesz to potwierdzić, po prostu przejdź do zakładki Efektywna pom w edytorze eclipse, wyświetli się jako kompilacja.