Это зависит от того, какую среду модульного тестирования вы используете.В всех случаях вы можете сделать что-то вроде:
[Test]
public void MakeItGoBang()
{
Foo foo = new Foo();
try
{
foo.Bang();
Assert.Fail("Expected exception");
}
catch (BangException)
{
// Expected
}
}
В некоторых средах есть атрибут, который вы можете добавить в метод теста для выражения ожидаемого исключения, или же может быть метод,например:
[Test]
public void MakeItGoBang()
{
Foo foo = new Foo();
Assert.Throws<BangException>(() => foo.Bang());
}
Лучше ограничить область видимости следующим образом, как если бы вы применили ее ко всему тесту, тест мог пройти, даже если строка неправильная вызвала исключение.