¿Cómo afirmar que algo es nulo con Hamcrest?

2 minutos de lectura

avatar de usuario
usuario2811419

¿Cómo lo haría? assertThat algo es null?

por ejemplo

 assertThat(attr.getValue(), is(""));

Pero me sale un error diciendo que no puedo tener null en is(null).

avatar de usuario
Rohit jainista

Puedes usar IsNull.nullValue() método:

import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;

assertThat(attr.getValue(), is(nullValue()));

  • dice que el método nullValue() no está definido

    – usuario2811419

    24/09/2013 a las 17:02

  • @usuario2811419. Necesitas importar IsNull Es un método estático en esa clase. Solo haz static importo usar IsNull.nullValue().

    – Rohit Jain

    24/09/2013 a las 17:03


  • Agregar import static org.hamcrest.core.IsNull.nullValue; a tu clase

    – Rohit Jain

    24/09/2013 a las 17:05

  • En las versiones más nuevas de Hamcrest, el espacio de nombres ha cambiado y necesita import static org.hamcrest.CoreMatchers.nullValue.

    – ThomasW

    8 de enero de 2016 a las 7:18

avatar de usuario
chetya

por qué no usar assertNull(object) / assertNotNull(object) ?

  • +1 Generalmente prefiero las afirmaciones de Hamscrest, pero este es un caso en el que la afirmación de Junit es más legible, en mi opinión.

    – spaaarky21

    31/10/2014 a las 18:16

  • afirmar que () proporciona un registro mucho mejor que muchos de los otros métodos de afirmación *. El estándar de codificación de prueba que utilizo favorece a assertThat() sobre todos los demás métodos de aserción por este motivo.

    – Efelton

    23 de abril de 2015 a las 15:58

  • La principal ventaja cuando se usa assertThat frente a assertNul es que se parece más a una frase hablada en inglés, solo intente leer cualquiera de sus afirmaciones para comprobarlo.

    – belgoros

    6 de julio de 2016 a las 9:28

  • El uso de un errorCollector es una buena razón para usar los comparadores de hacrest opuestos a assertNull/assertNotNull.

    – Tyler MacMillan

    4 de enero de 2017 a las 17:03

Si quieres hamcresttu puedes hacer

import static org.hamcrest.Matchers.nullValue;

assertThat(attr.getValue(), is(nullValue()));

En Junit tu puedes hacer

import static junit.framework.Assert.assertNull;
assertNull(object);

avatar de usuario
Pantera negra

Use lo siguiente (de Hamcrest):

assertThat(attr.getValue(), is(nullValue()));

En Kotlin is está reservado, así que usa:

assertThat(attr.getValue(), `is`(nullValue()));

¿Ha sido útil esta solución?