我正在使用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/