背景:Visual Studio 2008中,C#,NET 3.5的。
我有一个数字,根本就没有单位可测试的工具类。 这主要是因为他们的资源(如数据库,文件等)进行交互。
有没有一种方法,我可以装饰这些类,以便在Visual Studio代码覆盖率引擎会忽略它们,所以不降低的代码覆盖率?
背景:Visual Studio 2008中,C#,NET 3.5的。
我有一个数字,根本就没有单位可测试的工具类。 这主要是因为他们的资源(如数据库,文件等)进行交互。
有没有一种方法,我可以装饰这些类,以便在Visual Studio代码覆盖率引擎会忽略它们,所以不降低的代码覆盖率?
倘若一个答案这篇文章有关如何使用[System.Diagnostics.DebuggerHidden]或[System.Diagnostics.DebuggerNonUserCode]属性,以排除代码覆盖率的方法。
更新按照大卫的评论:
作为.NET 4.0存在用于此专用属性: [ExcludeFromCodeCoverage]
当您将项目升级到.NET 4,你会得到ExcludeFromCodeCoverageAttribute类 。
一个你想要编写单元测试的原因是为了让你的代码松耦合。 你可以阅读这篇文章 ,如果你有兴趣学习如何编写松耦合代码(如果你不知道如何)。
说,你可以尝试使用类似工具TypeMock ,可以帮助你嘲笑你的对象,即使你不使用它们写依赖注入的原则 。
TypeMock是我使用的第一个模拟框架。 我切换到犀牛制品因为TypeMock我没有被管教足够写松耦合代码。