我在 Visual Studio 2010 中有一个 C# 项目,我正在使用单元测试框架为其编写单元测试。当我查看测试运行的代码覆盖率结果时,覆盖率不包括属性。它没有将属性显示为已测试或未测试,就好像它们根本不重要一样。是否需要翻转设置以打开属性的代码覆盖率?
另请注意,我已经检查了 .testsettings 文件,没有任何内容被设置为从代码覆盖范围中排除,我也没有向类/属性添加任何属性以将它们排除在覆盖范围之外。
最佳答案
自动属性似乎没有添加到代码覆盖率中,因此我会检查您自己的属性的实现。
例如,下面的代码产生了 100% 的代码覆盖率;
namespace ClassLibrary1
{
public class Class1
{
public int Property1 { get; set; }
}
}
[TestMethod]
public void TestMethod1()
{
var test = new Class1();
Assert.IsNotNull(test);
}
而对类进行以下更改的相同测试给出了 40% 的覆盖率;
public class Class1
{
private int _property1;
public int Property1
{
get { return _property1; }
set { _property1 = value; }
}
}
关于c# - 代码覆盖率不包括 Visual Studio 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915390/