Mirando la documentación http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , podemos ver la <scope>
etiqueta debajo<dependency>
¿Qué es eso y cómo podemos usarlo para ejecutar la prueba?
Mirando la documentación http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , podemos ver la <scope>
etiqueta debajo<dependency>
¿Qué es eso y cómo podemos usarlo para ejecutar la prueba?
Respuestas:
El <scope>
elemento puede tomar 6 valores: compilación , proporcionado , tiempo de ejecución , prueba , sistema e importación .
Este alcance se usa para limitar la transitividad de una dependencia, y también para afectar el classpath usado para varias tareas de compilación.
compilar
Este es el alcance predeterminado, que se usa si no se especifica ninguno. Las dependencias de compilación están disponibles en todos los classpaths de un proyecto. Además, esas dependencias se propagan a proyectos dependientes.
previsto
Esto es muy parecido a la compilación, pero indica que espera que el JDK o un contenedor proporcionen la dependencia en tiempo de ejecución. Por ejemplo, al crear una aplicación web para Java Enterprise Edition, establecería la dependencia de la API de Servlet y las API de Java EE relacionadas con el alcance proporcionado porque el contenedor web proporciona esas clases. Este alcance solo está disponible en el classpath de compilación y prueba, y no es transitivo.
tiempo de ejecución
Este alcance indica que la dependencia no es necesaria para la compilación, sino para la ejecución. Está en el tiempo de ejecución y en las rutas de prueba, pero no en la ruta de compilación.
prueba
Este alcance indica que la dependencia no es necesaria para el uso normal de la aplicación, y solo está disponible para las fases de compilación y ejecución de prueba.
sistema
Este alcance es similar al proporcionado, excepto que debe proporcionar el JAR que lo contiene explícitamente. El artefacto siempre está disponible y no se busca en un repositorio.
importación (solo disponible en Maven 2.0.9 o posterior)
Este alcance solo se usa en una dependencia de tipo pom en la sección. Indica que el POM especificado debe reemplazarse con las dependencias en la sección de ese POM. Dado que se reemplazan, las dependencias con un alcance de importación en realidad no participan en limitar la transitividad de una dependencia.
Para responder la segunda parte de su pregunta:
¿Cómo podemos usarlo para ejecutar la prueba?
Tenga en cuenta que el test
alcance permite usar dependencias solo para la fase de prueba.
Lea la documentación para más detalles.
Seis ámbitos de dependencia:
src/main
ysrc/test
src/test
<dependencyManagement/>
, solo disponible en Maven 2.0.9 o posteriorLa etiqueta de alcance siempre se usa para limitar las dependencias transitivas y la disponibilidad del jar a nivel de ruta de clase. Si no proporcionamos ningún alcance, el alcance predeterminado funcionará, es decir, compilar .
Si no proporcionamos ningún alcance, el alcance predeterminado es compilar. Si desea confirmar, simplemente vaya a la pestaña Efectivo pom en el editor de eclipses, se mostrará como compilación.