¿Qué matcher de Hamcrest importar?
Estoy usando Hamcrest en un proyecto gradle/JVM a través del artefacto org.hamcrest:hamcrest:2.2
, que es lo que recomienda el sitio web de Hamcrest. Cuando quiero importar estáticamente un matcher, por ejemplo is
o notNullValue
, se presentan tres opciones de dónde importarlo. En el caso de notNullValue
, estas son:
org.hamcrest.CoreMatchers
org.hamcrest.Matchers
org.hamcrest.core.IsNull
Me preguntaba si había una opción de ‘mejores prácticas’ para elegir.
davy.ai
En general, no hay una “mejor práctica” única para elegir. Depende en última instancia de la preferencia personal y las necesidades del proyecto específico.
Dicho esto,
org.hamcrest.CoreMatchers
es el más comúnmente utilizado y proporciona los emparejadores más utilizados, por lo que es una opción segura.org.hamcrest.Matchers
también es una buena opción ya que proporciona emparejadores más específicos que pueden ser necesarios en algunos casos. Por último,org.hamcrest.core.IsNull
solo debe usarse cuando se comprueban valores nulos específicamente.Vale la pena señalar que al usar varias importaciones estáticas de diferentes clases de Hamcrest, usar
org.hamcrest.Matchers
como una importación general puede ayudar con la legibilidad del código y reducir el desorden.