В моих проектах Visual Studio 2013 я получаю предупреждение об обнаружении единичного теста от NCrunch, где эти функции имеют сильную зависимость от других объектов. Я хотел бы узнать, есть ли какой-либо естественный способ устранить эти предупреждения.Кодирование кода тестирования ядра 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], чтобы отключить это предупреждение. Правильно ли это сделать или есть ли другой способ очистить открытые кодовые сообщения?