我的 WidgetDoer 类依赖于未注入(inject)的 Foo 。我需要伪造 _fooDoStuffWith() 实现(然后验证 Do() 返回了结果——这是我真实代码的简化表示)。

public class WidgetDoer {
    readonly Foo _foo;

    public WidgetDoer() {
        _foo = new Foo();
    }

    public Bar Do(Widget widget) {
        var result = _foo.DoStuffWith(widget);
        return result;
    }
}

我尝试使用以下 Isolator 语法来防止创建真正的 Foo 对象(在 WidgetDoer() 构造函数内部),但无论如何都会实例化真正的 Foo 对象:
var fooFake = Isolate.Fake.Instance<Foo>();
Isolate.WhenCalled(() => new Foo()).WillReturn(fooFake);

我可以使用 Typemock 来模拟未注入(inject)的依赖项吗?

最佳答案

这段代码允许我模拟耦合依赖:

Isolate.Swap.NextInstance<Foo>().With(FooFake);

请记住, TypeMock supports very few types from mscorlib

关于constructor - Typemock 隔离器 : Mock a dependency that's not injected?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9978273/

10-11 08:17