He escrito algunas pruebas JUnit con la anotación @Test
. Si mi método de prueba arroja una excepción marcada y si deseo afirmar el mensaje junto con la excepción, ¿hay alguna manera de hacerlo con la anotación JUnit @Test
? AFAIK, JUnit 4.7 no proporciona esta característica pero ¿las versiones futuras lo proporcionan? Sé que en .NET puedes afirmar el mensaje y la clase de excepción. Buscando características similares en el mundo de Java.¿Cómo confirmo mi mensaje de excepción con la anotación JUnit Test?
Esto es lo que quiero:
@Test (expected = RuntimeException.class, message = "Employee ID is null")
public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() {}
Ahora que lo pienso un poco más ... ¿Estás seguro de que es una buena idea afirmar el mensaje? Tu pregunta me hizo profundizar un poco en el código fuente de junit y parece que podrían haber agregado fácilmente esta característica. El hecho de que lo hicieron * no *, me hace pensar que podría no considerarse una buena práctica. ¿Por qué es importante en su proyecto afirmar el mensaje? –
buena pregunta. Diga que un método que contiene 15 líneas de código arroja la misma excepción desde 2 lugares diferentes. Mis casos de prueba necesitan afirmar no solo la clase de excepción sino también el mensaje en ella. En un mundo ideal, cualquier comportamiento anormal debería tener su propia excepción. Si ese hubiera sido el caso, mi pregunta nunca surgiría, pero las aplicaciones de producción no tienen su única excepción personalizada para cada comportamiento anormal. – Cshah