Как сделать обработку исключений с nunit и moq?

В C# используйте as ключевое слово для кастинга.

string a = (string)obj

выдаст исключение, если obj не будет строкой

string a = obj as string

, то уедет как пустой указатель, если obj не будет строкой

, все еще необходимо принять пустой указатель во внимание, но это является обычно более прямым затем ищущее исключения броска. Иногда Вы хотите "бросок или аварийное завершение" поведение типа, в этом случае (string)obj, синтаксис предпочтен.

В моем собственном коде, я нахожу, что использую as синтаксис приблизительно 75% времени, и (cast) синтаксис приблизительно 25%.

5
задан chobo2 6 September 2009 в 19:04
поделиться

2 ответа

Есть несколько способов сделать это; Я использую Assert.Throws.

var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);

например

var exception = Assert
                .Throws<ArgumentNullException>(()=> new ChimpPuncher(null));

Затем вы можете запросить объект исключения, если хотите, например

Assert.That(exception.Message, Text.Contains("paramname");
14
ответ дан 18 December 2019 в 10:46
поделиться

Почему вы не можете заключить фиктивный вызов метода в блок try / catch и перехватить выбрасываемое конкретное исключение?

0
ответ дан 18 December 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: