我觉得应该

Should.Throw<ArgumentNullException>(module.Execute(badArgument));


但是,当我尝试在Should类或命名空间上没有Throw方法时。

但是有两种方法,但是当我调用ShouldThrow时

Should.ActionAssertionExtensions
    .ShouldThrow<ArgumentNullException>(() => module.Execute(badArgument));


它说这是一个模棱两可的调用,因为有两个ShouldThrow方法签名

void ShouldThrow<TException>(this Should.Core.Assertions.Assert.ThrowsDelegate)
void ShouldThrow<TException>(this System.Action)

最佳答案

should正在使用:

Action action = () => module.Execute(badArgument);
action.ShouldThrow<ArgumentNullException>();


这些是在声明的对象上调用的扩展方法。

关于c# - 您如何使用ShouldThrow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33989852/

10-11 10:41