Я хотел бы подтвердить, что генерируется исключение, а затем проверяются некоторые из свойств вызываемого исключения.NUnit - Утверждение об исключении и свойства
Я был под впечатлением, что я мог бы сделать что-то вроде следующего:
ICommand command = CreateCommandObj();
Assert.That(() => command.DoWork(), Throws.TypeOf<ArgumentException>(),
Has.Property("ParamName").EqualTo("myParam") &
Has.Property("Message").EqualTo("myMessage"));
Однако это даже не компилировать и смотрит на ожидаемых параметров Assert.That я не могу видеть, как я бы быть в состоянии сделать это? Я уверен, что я использовал это раньше, хотя ...
Примечания выше надуманный пример, чтобы проиллюстрировать этот момент, игнорировать тот факт, я ищу для ArgumentException по методе, который не делает, за исключением каких-либо параметров :)
Любая помощь приветствуется.
1) Невозможно преобразовать выражение лямбда, чтобы набрать «объект», потому что это не тип делегата.
Это почти сработало для меня, однако мне пришлось изменить ограничение на 'Throws.TypeOf(). And.Message.StringMatching (" MyMessage "));'. Я предполагаю, что это связано с изменениями, внесенными в структуру NUnit, поскольку это сообщение было сделано. –
robyaw