2012-09-26 11 views
43

uso el siguiente código en el momento de hacer valer en un valor boolean, sin embargo es obsoleto el método org.hamcrest.Matchers.is().¿Cuál es la alternativa para usar el método de Hamcrest obsoleto es()?

assertThat(someValue, is(false)); 

¿Hay una sencilla sintaxis alternativa para la prueba de valores booleanos sin recurrir a assertTrue() que le da mensajes de error pobres como "java.lang.AssertionError"


Editar después de recibir los comentarios/respuestas

Mi preocupación inicial se planteó porque Eclipse muestra el siguiente extracto de importación como obsoleto

enter image description here

sobre la visualización del Hamcrest API docs hay 3 variaciones sobrecargadas del método is(), solamente uno de los cuales 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.

+1

No es obsoleto, siempre prefiero 'es()' a 'equalTo()' para booleanos. Pero son alias el uno para el otro. –

+0

Puede incluir '*' en lugar de nombrar a cada emparejador por brevedad y para evitar la advertencia. –

+8

@David ... hasta que utilice "Organizar importaciones" – Brad

Respuesta

38

Ha intentado equalTo(T)?

assertThat(someValue, equalTo(false)); 

no veo que is(T) es obsoleto - sin embargo is(Class) is deprecate d.

+5

Gracias por la aclaración. Tiene razón 'is (T)' no está en desuso. Veo que está sobrecargado el hermano 'is (Clase )' está en desuso, lo que me llevó a creer que todos los usos de 'is()' estaban en desuso. – Brad

9

había pensado que esto era un problema de dependencia transitiva, pero no deja de ser un problema de visualización en Eclipse donde marca la importación como obsoletos debido a una forma sobrecargada. El código debe compilarse bien ya que la importación expondrá todos los formularios.

La forma en desuso se ha eliminado de la fuente y no existirá en la próxima versión (1.4).

original respuesta

El problema es que JUnit includes a set of Hamcrest classes in its 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.

+0

Eso es un problema, pero ¿cómo se relaciona con esta pregunta? Uso junit-4.11 y sigo teniendo esto. En hamcrest-1.3 existen los tres métodos mencionados. El que está primero en el eclipse de orden los encuentra que es el obsoleto y AFAICT que es el eclipse indica que está obsoleto. Curiosamente, se coloca debajo de los demás en el archivo fuente. – aron

+1

@aron He actualizado mi respuesta ahora que veo que es solo un problema de visualización de Eclipse. –

Cuestiones relacionadas