我为 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)
编辑:刚刚注意到这与杰森埃文斯现在删除的答案相同......
只是用其他方式扩展:
this.GetType().GetFoo();//inside some class.
typeof(SomeType).GetFoo();
由于它会引发 ArgumentNullException,因此您可以将其包装在适当的 try-catch 块中