gpt4 book ai didi

c# - NUnit - 断言异常和属性

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:47 25 4
gpt4 key购买 nike

我想断言正在抛出异常,然后检查抛出异常的一些属性。

我的印象是我可以做如下的事情:

ICommand command = CreateCommandObj();
Assert.That( () => command.DoWork(), Throws.TypeOf<ArgumentException>(),
Has.Property("ParamName").EqualTo("myParam") &
Has.Property("Message").EqualTo("myMessage") );

然而,这甚至没有编译并查看 Assert 的预期参数。我看不出我该如何做到这一点?不过我确定我以前用过这个...

注意上面是一个人为的例子来说明这一点,忽略我正在寻找一个没有任何参数的方法的 ArgumentException :)

感谢任何帮助。

1) 无法将 lambda 表达式转换为类型“object”,因为它不是委托(delegate)类型。

最佳答案

好的,排序。

我需要使用以下语法:

ICommand command = CreateCommandObj();
Assert.That( () => command.DoWork(),
Throws.TypeOf<ArgumentException>()
.And.Message.Equals("MyMessage"));

这种方法允许我检查抛出的异常的属性。我可以向断言中添加任意数量的 And 或 Or。

谢谢大家的建议。

关于c# - NUnit - 断言异常和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3165073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com