繁体   English   中英

在 C# 中进行单元测试时如何正确抽象系统对象?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM