Зачем мне использовать assert_not_raised в тестовом коде?

Утверждения вызывают ошибку в тестовом коде, предупреждающую о том, что тест не пройден. Если я ожидаю, что тест пройдет, а не вызовет исключение, зачем мне использовать assert_not_raised (или эквивалент) вместо того, чтобы просто позволить возбужденному исключению не пройти тест?

Я предполагаю, что это может быть более явным для других, читающих тестовый код, то есть тестируемая вещь может вызвать исключение, но все же кажется ненужной.


person user58446    schedule 09.05.2021    source источник
comment
Могут быть и другие причины, по которым код будет подниматься или не подниматься сам по себе, независимо от прохождения теста.   -  person matt    schedule 09.05.2021
comment
Спасибо за комментарий. Можете ли вы уточнить или привести пример, где это может иметь место? Я бы предположил, что большинство необработанных исключений, которые могут привести к остановке программы во время выполнения, будут основанием для провала теста.   -  person user58446    schedule 09.05.2021
comment
В целом я согласен, как и MiniTest: Почему MiniTest: :Spec имеет утверждение wont_raise? Но разные языки/наборы тестов видят его по-разному, например developer.apple.com/documentation/xctest/error_assertions.   -  person matt    schedule 09.05.2021
comment
В целом, я полагаю, идея состоит в том, чтобы разделить s.u.t. и его отчеты по тесту и его отчеты.   -  person matt    schedule 09.05.2021