constructor - Typemock隔离器: Mock a dependency that's not injected?

标签 constructor mocking dependencies typemock typemock-isolator

我的 WidgetDoer类取决于 Foo ,没有注入(inject)。我要造假_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/

相关文章:

接口(interface)中的构造函数方法? (在戈兰语中)

python::如何返回模拟变量值?

每个分支的 github 易受攻击的依赖项

c++ - 以下c++构造函数之间有什么区别?

C++ - 在模板类中显式调用构造函数模板?

python - 使用 mock.patch 装饰器和 nose2 这样的 DSL

angularjs - $exceptionHandler 中的 $location - 依赖冲突

wpf - 绑定(bind)到时间相关的属性

java - Java `this` 在继承情况下实际指的是什么?

c# - 在 Moq 中,给定对 .Object 的引用,是否可以操纵原始模拟?