C# 你如何使用shouldtown
我觉得应该是这样C# 你如何使用shouldtown,c#,unit-testing,testing,assertions,C#,Unit Testing,Testing,Assertions,我觉得应该是这样 Should.Throw<ArgumentNullException>(module.Execute(badArgument)); Should.Throw(module.Execute(badArgument)); 但是当我尝试在Should类或名称空间上没有Throw方法时 不过有两种方法,但是当我调用shouldtrow时 Should.ActionAssertionExtensions .ShouldThrow<ArgumentNullEx
Should.Throw<ArgumentNullException>(module.Execute(badArgument));
Should.Throw(module.Execute(badArgument));
但是当我尝试在Should类或名称空间上没有Throw方法时
不过有两种方法,但是当我调用shouldtrow时
Should.ActionAssertionExtensions
.ShouldThrow<ArgumentNullException>(() => module.Execute(badArgument));
Should.ActionAssertionExtensions
.ShouldThrow(()=>module.Execute(badArgument));
它说这是一个模棱两可的调用,因为有两个ShouldThrow方法签名
void ShouldThrow<TException>(this Should.Core.Assertions.Assert.ThrowsDelegate)
void ShouldThrow<TException>(this System.Action)
void ShouldThrow(这应该是.Core.Assertions.Assert.ThrowsDelegate)
void ShouldThrow(此系统操作)
您应该使用:
Action action = () => module.Execute(badArgument);
action.ShouldThrow<ArgumentNullException>();
Action Action=()=>module.Execute(badArgument);
动作。ShouldThrow();
这些是对被断言的对象调用的扩展方法