Интеллитест издевательский вопрос
У меня сейчас такая ситуация. В приведенном ниже коде я использую визуальную студию 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";
}
}