如何将类修饰为代码覆盖率不可测试?

背景:Visual Studio 2008,C#,。Net 3.5。

我有许多实用程序类,它们不是单元可测试的。 这主要是因为它们与资源(例如数据库,文件等)交互。

有没有办法可以装饰这些类,以便Visual Studio代码覆盖引擎会忽略它们,所以不降低代码覆盖百分比?

本文中有一个答案,关于如何使用[System.Diagnostics.DebuggerHidden]或[System.Diagnostics.DebuggerNonUserCode]属性从代码覆盖中排除方法。

根据David的评论更新:

从.NET 4.0开始,有一个专用属性: [ExcludeFromCodeCoverage]

将项目升级到.NET 4时,您将获得ExcludeFromCodeCoverageAttribute类 。

想要编写unit testing的原因之一是使代码松散耦合。 如果您有兴趣学习如何编写松散耦合的代码(如果您不知道如何编写),可以阅读本文 。

说你可以尝试使用像TypeMock这样的工具来帮助你模拟你的对象,即使你没有使用dependency injection原则来编写它们。

TypeMock是我使用的第一个模拟框架。 我切换到Rhino Mocks,因为使用TypeMock我没有足够的纪律来编写松散耦合的代码。