我正在使用Mono和Lokad质量库来开发API,该API会执行诸如检查方法的特征以查看它们是否引发异常等操作。

我在此API中拥有的一种方法如下所示:

// Get all methods which have a NotImplementedException
var throwingMethods = _codebase.Methods
    .Where(m => m.GetInstructions()
                 .Exists(i => i.Creates<NotImplementedException>())
    ).ToArray();
 return throwingMethods;


我该如何对该单元进行测试? C#没有本身的能力来完成相同的事情。也许我只需要一个小的程序集,进行一个硬编码的集合,然后进行比较?

谢谢

最佳答案

您可以尝试模拟_codebase变量以为单元测试返回一些预定义的方法。

如果_codebase由传递给要测试的类的构造函数的变量设置(构造函数注入),则这可能非常简单(当然,假设Methods属性是可重写的,并且该类未密封)。

关于c# - 我该如何对该单元进行测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3327072/

10-11 00:53