[英]How to properly abstract system objects when unit testing in C#?
尽管我已经了解了可测试设计的模拟、存根和类抽象的原理,但仍有一些我不清楚的地方。
使用 .NET,有很多内置类,例如 StackTrace,位于 Diagnostics 命名空间下。
其中一些类包含其他类的集合,而这些类也包含其他类,等等等等...... - 包含原则。
例如: StackTrace
类包含一个StackFrame
对象数组,它本身有一个返回MethodBase
对象的方法。
说这些类都不是抽象的,这意味着它们不能被直接模拟 - 如何设计代码以能够模拟这些类,而不创建大量包装类并在上面浪费大量关键时间?
我希望我对此足够清楚。
评论使我进入 MSDN,在那里我发现由于缺乏适当的研究而提出了这个问题。
我之后被定义为所有方法virtual
,从而可以直接嘲笑。
注意:这仅回答问题中给出的特定示例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.