Intellitest嘲弄问题

时间:2016-05-18 05:15:11

标签: pex intellitest

我现在有这样的情况。在下面的代码我运行Visual Studio Intellitest,但是我能够使用假装配模拟类A和B并能够运行探索。但是当谈到B类的构造函数时,PEX试图在构造函数级别B上实例化一个Concrete类,然后尝试调用一个函数(即_c.CMethod())。在这种情况下,Pex抛出运行时警告“无法检测方法”并通过将代码覆盖率降至最低来中止代码探索。我正在关注这个article来模拟复杂的对象。

示例代码

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 个答案:

没有答案