Visual studio 2013 VS2013代码覆盖率

Visual studio 2013 VS2013代码覆盖率,visual-studio-2013,code-coverage,Visual Studio 2013,Code Coverage,我有以下测试: [Test] public void GrantResourceOwnerCredentials_NullClientID_ThrowsArgumentNullException() { Assert.Throws<ArgumentNullException>(() =>{ new ApplicationOAuthProvider(null,null); }); } [测试] public void GrantReso

我有以下测试:

[Test]
public void GrantResourceOwnerCredentials_NullClientID_ThrowsArgumentNullException()
    {   
        Assert.Throws<ArgumentNullException>(() =>{ new ApplicationOAuthProvider(null,null); }); 

    }
[测试]
public void GrantResourceOwnerCredentials_NullClientID_throwArgumentNullException()
{   
抛出(()=>{newapplicationAuthProvider(null,null);});
}
测试通过了,但当我运行代码覆盖率时,它会突出显示

newapplicationAuthProvider(null,null)

作为“覆盖部分接触区域”

我该如何解决这个问题

顺便说一句,我对单元测试/代码覆盖还不熟悉,所以请对我放松

感谢

当您看到“部分接触”的结果时,这意味着有多个代码路径可以通过一个方法进行遍历(例如通过
if
块、空检查等),并且测试只执行了一个路径

例如,如果您使用以下方法:

public string IsThisEvenOrOdd(int number)
{
  return (number % 2 == 0) ? "Even" : "Odd";
}
然后编写以下单元测试:

public string IsThisEvenOrOdd_PositiveEvenNumber_ReturnsEven()
{
    var number = 2;
    var expected = "Even";

    var actual = IsThisEvenOrOdd(number);

    Assert.AreEqual(expected, actual);
}
如果您运行该测试,它应该会成功。但是,它只测试一条路径——“偶数”路径。在MSTest将该方法显示为“完全覆盖”之前,您需要至少编写一个其他测试来测试“奇数”结果