扩展方法;类型“;为null
本文关键字:null 类型 方法 扩展 | 更新日期: 2023-09-27 18:24:00
我为System.Type创建了一个扩展方法,我想对该方法进行单元测试。这可能吗?谢谢
public static bool GetFoo(this Type self)
{
if (self == null)
{
throw new ArgumentNullException("this")
}
...
}
断言((Type)null).GetFoo()
抛出。
MS VS单元测试
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void TestFoo()
{
Type t = null;
t.GetFoo();
}
您也可以这样做:
ExtensionClass.GetFoo(null)
编辑:刚刚注意到这与Jason Evans现在删除的答案相同。。。
只是用其他方式扩展:
this.GetType().GetFoo();//inside some class.
typeof(SomeType).GetFoo();
由于它抛出一个ArgumentNullException,您可以将其封装在一个适当的try-catch块中