Ответы пользователя по тегу Тестирование ПО
  • Как сделать Expected Exeption в Unit тесте положительным результатом?

    @bedward70
    santaatnas в комментариях правильно написал: "что вам мешает выполнить этот кусок кода в try блоке, и в catch блоке поймать необходимый exception и сделать assertEquals по имени класса объекта?"

    От себя добавлю, что есть замечательный метод
    fail();
    Его используйте для участков кода, которые не должны выполниться в тесте.

    Ниже пример для тестирования гарантированного эксепшена:
    import org.junit.Test;
    
    import static junit.framework.TestCase.assertEquals;
    import static junit.framework.TestCase.fail;
    
    public class ExampleTest {
    
        private void exceptionMethod() throws Exception {
            throw new RuntimeException("test");
        }
    
        @Test
        public void test() {
            try {
                exceptionMethod();
                fail("Impossible");
            } catch (Exception e) {
                assertEquals("Checks class", RuntimeException.class, e.getClass());
                assertEquals("Checks message", "test", e.getMessage());
            }
        }
    }
    Ответ написан
    2 комментария