Unit testing NCrunch单元测试代码覆盖率

Unit testing NCrunch单元测试代码覆盖率,unit-testing,ncrunch,Unit Testing,Ncrunch,在我的VisualStudio2013项目中,我从NCrunch获得了未发现的单元测试警告,其中这些函数对其他实体有很强的依赖性。我想知道是否有任何自然的方式来消除这些警告 假设我有一个这样的person类 public class PersonApiHandler{ public virtual Person GetPersonFromFacebook(){ // heavy facebook api call here return person; } } 我有一个假班级,比

在我的VisualStudio2013项目中,我从NCrunch获得了未发现的单元测试警告,其中这些函数对其他实体有很强的依赖性。我想知道是否有任何自然的方式来消除这些警告

假设我有一个这样的person类

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,所以我不能在单元测试中使用它。我发现的唯一方法是使用[ExcludeFromCodeOverage]属性禁用此警告。这是正确的方法还是有其他方法来清除未覆盖的代码消息?

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