"Cannot verify on real object - use a fake object instead" 异常

"Cannot verify on real object - use a fake object instead" exception

我使用的是 Typemock Isolator 8.6.2.0 版。 我有以下 类:

public class A
{
    public B b { get; }

    public A()
    {
        b = new B();
    }
}

public class B
{
    public B()
    {
        Console.WriteLine("In B c'tor");
    }
    public void doSomething()
    {

    }
}

测试方法为:

public void test()
{
    Isolate.Fake.NextInstance<B>();
    A a = new A();
    var bObject = a.b;
    bObject.doSomething();
    Isolate.Verify.WasCalledWithAnyArguments(() => bObject.doSomething());
}

当我 运行 测试时,我得到以下异常:"Cannot verify on real object - use a fake object instead",但是对象 伪造的! 有谁知道它为什么会发生以及我该如何解决?

NextInstance returns 可以调用 Verify 的句柄。现在,您将返回的句柄扔掉。

根据 http://www.typemock.com/docs/?book=Isolator&page=Documentation%2FHtmlDocs%2Ffakingfutureinstances.htm

上的文档
Verifying is done on the instance returned from Isolate.Fake.NextInstance.

像这样写你的测试: `

   public void test()
   {
       var fake = Isolate.Fake.NextInstance<B>();
       A a = new A();
       var bObject = a.b;
       bObject.doSomething();
       Isolate.Verify.WasCalledWithAnyArguments(() => fake.doSomething());

   }

`