Guardando la documentazione http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , possiamo vedere il <scope>
tag sotto<dependency>
Che cos'è e come possiamo usarlo per eseguire i test?
Guardando la documentazione http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , possiamo vedere il <scope>
tag sotto<dependency>
Che cos'è e come possiamo usarlo per eseguire i test?
Risposte:
L' <scope>
elemento può assumere 6 valori: compilazione , fornito , runtime , test , sistema e importazione .
Questo ambito viene utilizzato per limitare la transitività di una dipendenza e anche per influire sul percorso di classe utilizzato per varie attività di compilazione.
compilare
Questo è l'ambito predefinito, usato se non ne viene specificato nessuno. Le dipendenze di compilazione sono disponibili in tutti i percorsi di classe di un progetto. Inoltre, tali dipendenze vengono propagate a progetti dipendenti.
fornito
È molto simile alla compilazione, ma indica che ci si aspetta che JDK o un contenitore forniscano la dipendenza in fase di esecuzione. Ad esempio, quando si crea un'applicazione Web per Java Enterprise Edition, è necessario impostare la dipendenza dall'API Servlet e dalle relative API Java EE sull'ambito fornito poiché il contenitore Web fornisce tali classi. Questo ambito è disponibile solo sul percorso di classe di compilazione e test e non è transitivo.
runtime
Questo ambito indica che la dipendenza non è richiesta per la compilazione, ma per l'esecuzione. È in runtime e test classpaths, ma non il compilare classpath.
test
Questo ambito indica che la dipendenza non è richiesta per l'uso normale dell'applicazione ed è disponibile solo per le fasi di compilazione ed esecuzione del test.
sistema
Questo ambito è simile a quello fornito, tranne per il fatto che è necessario fornire il JAR che lo contiene esplicitamente. Il manufatto è sempre disponibile e non viene cercato in un repository.
import (disponibile solo in Maven 2.0.9 o successivo)
Questo ambito viene utilizzato solo su una dipendenza di tipo pom nella sezione. Indica che il POM specificato deve essere sostituito con le dipendenze nella sezione di quel POM. Poiché vengono sostituite, le dipendenze con un ambito di importazione non partecipano effettivamente alla limitazione della transitività di una dipendenza.
Per rispondere alla seconda parte della tua domanda:
Come possiamo usarlo per eseguire il test?
Si noti che l' test
ambito consente di utilizzare le dipendenze solo per la fase di test.
Leggi la documentazione per tutti i dettagli.
Sei ambiti di dipendenza:
src/main
esrc/test
src/test
<dependencyManagement/>
, disponibile solo in Maven 2.0.9 o successivoIl tag Scope viene sempre utilizzato per limitare le dipendenze transitive e la disponibilità del jar a livello del percorso di classe. Se non forniamo alcun ambito, l'ambito predefinito funzionerà, ad esempio Compile .
Se non forniamo alcun ambito, allora l'ambito predefinito è compilare, Se vuoi confermare, vai semplicemente alla scheda Pom efficace nell'editor eclipse, ti mostrerà come compilare.