Если GetNumber()
возвращает значение, вы не должны делать то, что пытаетесь сделать.Вместо этого вы должны подтвердить возвращаемое значение.Не пытайтесь проверять наличие исключений, если вы не ожидаете их возникновения.Среда NUnit позаботится об этом и провалит ваш тест для вас.
Если GetNumber()
не возвращает значение, вы можете сделать одну из трех вещей:
- Использование Assert.DoesNotThrow - это очень явно документирует намерение
- Как и другие люди предложили, вы можете просто отказаться от исключения.Сбои теста уже сигнализируются исключениями.Любое неперехваченное исключение не пройдёт тест
- Если у вас есть веская причина, по которой ваша логика явно провалилась или прошла тест, и у вас нет других блоков утверждений, которые вы могли бы использовать вместо них (которые лучше документируютваш тест), используйте Assert.Fail / Assert.Pass
В этом случае первый вариант является наиболее явным.Это часто встречается, если единственный интересный побочный эффект, который вы можете проверить, - это исключение.Но если GetNumber()
не возвращает значение, вам стоит подумать о переименовании вашего метода:)