Интеллитест издевательский вопрос

У меня сейчас такая ситуация. В приведенном ниже коде я использую визуальную студию Intellitest, однако я могу издеваться над классами A и B, используя поддельную сборку, и могу запускать исследования. Но когда дело доходит до конструктора класса B, где PEX пытается создать экземпляр класса Concrete в классе уровня конструктора B и впоследствии пытается вызвать функцию (то есть _c.CMethod()). В этом сценарии Pex выдает предупреждение во время выполнения "неспособен применить методы" и прерывает исследование кода, оставляя покрытие кода минимальным. Я слежу за этой статьей за издевательства над сложными объектами.

Образец кода

public class A
{
    private readonly IB _IB;
    public A(IB IntfB)
    {
        _IB = IntfB;
    }

    public void Amethod()
    {
        _IB.CallingBMethod();
    }
}

public class B
{
    public B()
    {
        C _c = new C();
        _c.CMethod();
    }

    public string CallingBMethod()
    {
        return "Return from BMethod";
    }
}

public interface IB
{
    string CallingBMethod();
}

    enter code here

public class C
{
    public string CMethod()
    {
        return "Return from CMethod";
    }
}

0 ответов

Другие вопросы по тегам