我的 WidgetDoer
类依赖于未注入(inject)的 Foo
。我需要伪造 _foo
的 DoStuffWith()
实现(然后验证 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/