que java testng hamcrest

java - que - junit 4 hamcrest



Mezclando Hamcrest y TestNG (3)

Lo que funcionó para mí: 1. http://search.maven.org/

  1. La búsqueda de ''java-hamcrest'' es la última versión de ''2.0.0.0''

  2. Encontrar dependencia para Gradle (en mi caso)

  3. Se agregó compile ''org.hamcrest: java-hamcrest: 2.0.0.0'' a build.gradle en mi proyecto.

¿Alguien ha integrado Hamcrest con TestNG para que sus comparadores puedan usarse fácilmente en las afirmaciones de TestNG?


Si tiene un problema con el método vacío, le sugeriría que primero agregue hamcrest en la lista de dependencias. O importar primero hamcrest , solucionará el problema.

Estaba usando TestNJ con rexsl (internamente usando Hamcrest) y no encuentra el método vacío. luego agregué rexsl primero en la lista de dependencias, si está agregando una biblioteca en la ruta de clase, puede intentar agregar primero el Hamcrest.

Espero que ayude a alguien como yo.


En resumen, para responder a su pregunta: no necesita integrar TestNG con Hamcrest. Simplemente llame a org.hamcrest.MatcherAssert.assertThat(...) directamente que lanza java.lang.AssertionError .

Fondo

Encontré tu pregunta a través de Google, preguntándome exactamente el mismo problema. Después de seguir buscando en Google, no encontré ninguna respuesta satisfactoria, así que leí el código fuente para la integración de JUnit con Hamcrest.

Con JUnit, la integración de Hamcrest se usa normalmente llamando a:

org.junit.Assert.assertThat( T actual, org.hamcrest.Matcher<? super T> matcher)

Cuando leí el código fuente, descubrí que solo era un pequeño contenedor para llamar:

org.hamcrest.MatcherAssert.assertThat( String reason, T actual, org.hamcest.Matcher<? super T> matcher)

Esta función lanza java.lang.AssertionError .