java - hamcrest matchers
¿Cuál es la alternativa para usar el método Deprecated Hamcrest is()? (3)
¿Has probado equalTo(T)
?
assertThat(someValue, equalTo(false));
No veo que is(T)
esté en desuso - es (Clase) está desaprobado d sin embargo.
Uso el siguiente código en este momento para afirmar en un valor boolean
, sin embargo, el método org.hamcrest.Matchers.is()
está en desuso.
assertThat(someValue, is(false));
¿Existe una sintaxis alternativa simple para probar los valores booleanos sin recurrir a assertTrue()
que le da mensajes de falla pobres como "java.lang.AssertionError"
Editar después de recibir comentarios / respuestas
Mis preocupaciones iniciales se plantearon porque Eclipse muestra el siguiente extracto de importación como obsoleto
Al ver los documentos de la API de Hamcrest, hay 3 variaciones sobrecargadas del método is()
, de las cuales solo una está en desuso.
Por lo tanto, para aclarar el comentario de @mark y la respuesta de @matt, el uso de is()
que he publicado anteriormente es válido y no desaprobado.
Creía que se trataba de un problema de dependencia transitiva, pero en realidad solo se trata de un problema de visualización en Eclipse, donde marca la importación como obsoleta porque se trata de un formulario sobrecargado. El código debe compilarse bien ya que la importación expondrá todos los formularios.
El formulario obsoleto se ha eliminado de la fuente y no existirá en la próxima versión (1.4).
Respuesta original
El problema es que JUnit incluye un conjunto de clases de Hamcrest en su JAR . Puede usar junit-dep.jar
por ahora, pero las versiones más recientes (4.9 y 4.10 hasta ahora) de JUnit las omiten.
Se dice, use instanceOf
para matcher de clase en el documento.
http://junit.org/javadoc/latest/org/hamcrest/core/Is.html#isA(java.lang.Class)
is(IOException.class);
estarán
is(instanceOf(IOException.class));
por ejemplo.