我正在尝试创建一个采用 testdelegate 或委托并将参数传递给委托对象的方法。这是因为我正在为所有采用相同参数(一个 id)的控制器中的方法创建测试,并且我不想为所有控制器方法创建测试。
我有的代码:
protected void AssertThrows_NullReference_Og_InvalidOperation(TestDelegate delegateMethod)
{
Assert.Throws<NullReferenceException>(delegateMethod);
Assert.Throws<InvalidOperationException>(delegateMethod);
Assert.Throws<InvalidOperationException>(delegateMethod);
}
我想做什么:
protected void AssertThrows_NullReference_Og_InvalidOperation(TestDelegate delegateMethod)
{
Assert.Throws<NullReferenceException>(delegateMethod(null));
Assert.Throws<InvalidOperationException>(delegateMethod(string.Empty));
Assert.Throws<InvalidOperationException>(delegateMethod(" "));
}
编辑:我忘了提到控制器有一个返回值。因此不能使用 Action。