以下代码中的 switch 语句有一个default
编译器需要的子句和一个很好的保护措施,但它永远不会被执行。在为其他所有内容编写测试之后,我无法(或应该)测试那一行。我不在乎我没有用测试覆盖这条线,但我的 TestDriven.net NCover 代码覆盖率报告确实显示了未经测试的线,这导致类覆盖率下降到 86%。有没有办法让 NCover 只排除这一行?
public static class OperandTypeExtensions
{
public static string ToShortName(this OperandType type)
{
#region Contract
Contract.Requires<InvalidEnumArgumentException>(Enum.IsDefined(typeof(OperandType), type));
#endregion
switch (type)
{
case OperandType.None: return "<none>";
case OperandType.Int32: return "i32";
case OperandType.Int64: return "i64";
default:
throw new NotSupportedException();
}
}
}
我的问题与这个问题类似,但没有一个答案对我的具体情况有帮助。