2

在我的 Visual Studio 2013 项目中,我收到来自 NCrunch 的未发现单元测试警告,其中这些函数对其他实体具有很强的依赖性。我想了解是否有任何自然的方法来清除这些警告。

假设我有一个这样的人员类;

public class PersonApiHandler{    
public virtual Person GetPersonFromFacebook(){
// heavy facebook api call here
return person;    }
}

我有一个假课,比如;

public class PersonApiHandlerFake: PersonApiHandler
{
public override Person GetPersonFromFacebook(){
// fake person is returning - isolated
return fakeUser;
}
}

然后我将这种方法称为;

    [TestFixture]
        public class PersonApiHandlerTests(){
    [Test]
    public void GetPerson_from_Api_success(){
    PersonApiHandlerFake fake = new PersonApiHandlerFake();
var fakeFacebookUser = fake.GetPersonFromFacebook();
Assert.IsNotNull(fakeFacebookUser );
    }

在这种情况下,NCrunch 抱怨 PersonApiHandler.GetPersonFromFacebook 未涵盖代码。由于这个函数调用真正的 API,我不能在我的单元测试中使用它。我发现使用 [ExcludeFromCodeCoverage] 属性禁用此警告的唯一方法。这是正确的做法还是有其他方法可以清除未发现的代码消息?

4

1 回答 1

2

NCrunch 支持使用特定的内联注释来选择应该从覆盖范围中忽略的一行或多行代码。您可以使用//ncrunch: no coverage start和//ncrunch: no coverage end来标记代码块的开始和结束,或者使用//ncrunch: no coverage忽略单行代码。

于 2015-08-07T14:15:39.780 回答