【发布时间】:2013-01-02 09:38:24
【问题描述】:
我正在尝试创建一个采用 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。
【问题讨论】:
-
你是对的。我在底部添加了我自己的解决方案,我借用了你的代码并做了一些调整。感谢您的帮助。
标签: c# unit-testing delegates nunit