Я пишу тесты, используя testNG
в этом случае, и я хочу написать свой собственный метод assert, который использует некоторое отражение, чтобы утверждать, что что-то истинно. Я намерен использовать метод во всех других вспомогательных методах.Как разрешить метод helper-метода генерировать исключение, не перехватывая его в методах вызова?
Проверяются исключения, которые может быть опробован, но не должны, если все сделано правильно. Во всех случаях, если метод assert генерирует исключение, мое желание состоит в том, чтобы оно распространялось вплоть до вершины стека, что привело к сбою теста с трассировкой стека.
Однако я бы предпочел не добавлять метод бросков к каждому из моих тестовых классов. Тем более, что могут быть причины другие методы бросают то же исключение, что я хочу, чтобы затмение напоминало мне, чтобы проверить. Есть ли способ, с помощью которого я могу сам определить структуру тестирования, что созданное конкретное исключение должно пропустить тест со стеком, как если бы я бросил его через весь стек?
Я мог бы использовать org.testing.Assert.fail
, но это позволяет мне предоставить строку вместо полной трассировки стека. Я мог бы обернуть проверенное исключение в RuntimeException
, но я чувствую, что он (немного) усложняет для тестировщиков понять, что на самом деле произошло. Есть ли более прямой способ сказать «не удалось из-за этого исключения»?