verduras vegetales sarten saltear salteados salteado salteadas salsa recetas receta miel juliana con cerdo maven-2 surefire

maven 2 - vegetales - ¿Hay alguna forma de saltear solo una prueba en maven?



verduras en juliana salteadas (5)

Me gustaría omitir solo una prueba al iniciar mvn install .

Hay una manera de hacer eso ?


Con junit 4, agrego una anotación @Ignore cuando quiero hacer eso. Esto funcionaría para ti, a menos que quieras ignorar la prueba solo a veces, o solo ignorarla cuando la compilación se ejecute desde maven. Si este es el caso, entonces preguntaría "¿Por qué?"

Las pruebas deben ser consistentes, deben ser portátiles y siempre deben pasar. Si una prueba específica es problemática, consideraría volver a escribirla, eliminarla por completo o moverla a una suite o proyecto de prueba diferente.


Creo que esto debería funcionar si usas este comando:

mvn archetype:create -DgroupId=test -DartifactId=test

(para el cambio de prueba pom.xml y test-class a lo siguiente y use mvn install)

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>test</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>test</name> <url>http://maven.apache.org</url> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <excludes> <exclude> test/AppTest.java </exclude> </excludes> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.5</version> <scope>test</scope> </dependency> </dependencies>

clase de prueba:

package test; import org.junit.Test; import static org.junit.Assert.fail; public class AppTest { @Test public void test_it() { fail("not implemented"); } }


Echa un vistazo a esta solución , usando anotaciones @Category

public class AccountTest { @Test @Category(IntegrationTests.class) public void thisTestWillTakeSomeTime() { ... } @Test @Category(IntegrationTests.class) public void thisTestWillTakeEvenLonger() { ... } @Test public void thisOneIsRealFast() { ... } }

Que luego ejecuta usando un banco de pruebas:

@RunWith(Categories.class) @IncludeCategory(SlowTests.class) @SuiteClasses( { AccountTest.class, ClientTest.class }) public class LongRunningTestSuite {}


Es normal que las pruebas de integración deban excluirse, pero las pruebas unitarias deben incluirse. Para lograr esto, sugiero nombrar todas las pruebas de integración con un postfix IntegrationTest (por ejemplo, AbcIntegrationTest.java).

y luego en tu construcción maven pon lo siguiente:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <excludes> <exclude>**/*IntegrationTest.java</exclude> </excludes> </configuration> </plugin>

Cuando compile con esto, se excluirán todas las pruebas de integración, pero se ejecutarán todas las demás pruebas (por ejemplo, prueba de unidad). Perfecto :-)

Para obtener más información sobre exclusiones e incluir pruebas durante la prueba, lea

maven.apache.org/surefire/maven-surefire-plugin/examples/…

PS Para exluir una sola prueba, simplemente necesita nombrarla explícitamente en la lista de exclusión. Fácil.


Puede especificar un patrón de exclusión en la opción -Dtest prefijando con un ! (signo de exclamación). P.ej,

mvn -Dtest=/!FlakyTest* install

Lo encontré here y verificamos que esté funcionando. Por ejemplo, pude saltear this escamosa prueba de Jenkins al usar:

mvn -Dtest=/!CronTabTest* package