Typemock Isolator:模拟未注入的依赖项?

2024-01-11

My WidgetDoer类取决于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;
    }
}

我尝试使用以下隔离器语法来防止真正的Foo对象被创建(在WidgetDoer()构造函数),但真正的Foo无论如何,对象都会被实例化:

var fooFake = Isolate.Fake.Instance<Foo>();
Isolate.WhenCalled(() => new Foo()).WillReturn(fooFake);

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


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

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

记住,TypeMock 支持 mscorlib 中的极少数类型 http://www.typemock.com/mscorlib-types.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Typemock Isolator:模拟未注入的依赖项? 的相关文章

随机推荐

  • 数组中正值的总和在 C 程序中给出负结果

    我有一个问题 那就是 当我对数组的值求和 都是正数 我通过打印数组的值进行验证 时 我最终得到一个负值 我的总和代码是 int summcp 0 for k 0 k lt SIMUL k summcp mcp k printf summcp
  • 验证密码不包含名称中 3 个以上的连续字符

    我需要在 Java 中执行以下密码验证 长度必须至少 8 个字符 必须包含至少 1 个数字 必须包含至少 1 个大写字母 必须包含至少 1 个小写字母 您的全名或用户名中不能包含 3 个或更多连续字符 例如 如果您的名字是Will你无法获得
  • 创建我自己的迭代器

    我正在尝试学习C 所以如果这个问题表明我缺乏基础知识 请原谅我 你看 事实是 我缺乏基础知识 我需要一些帮助来解决如何为我创建的类创建迭代器 我有一个 形状 类 其中有一个点容器 我有一个 Piece 类 它引用一个形状并定义该形状的位置
  • 使用 Spring Boot 1.3,spring-boot-devtools 和 Thymeleaf 模板在 Netbeans 中更改时不会进行实时重新加载

    Spring Boot 1 3 引入了 spring boot devtools 来提供与 Spring Reloaded 类似的功能 以重新加载修改的类并更新 Thymeleaf 模板 而无需重新运行应用程序 我之前一直在使用 Sprin
  • PHP 能够处理多个 TCP 连接吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想知道 PHP 是否可以充当 TC
  • Viewport3D ModelVisuals3D 在 Canvas 内部时不可见

    如果我将 viewport3D 放入 Canvas 中 我的 viewport3D 将不再可见 如果我删除 Canvas 则 Viewport3D 会再次可见 我做错了什么
  • Reactjs承诺,我们应该如何使用它?

    在过去的三天里我读了很多关于 React 的文章 但是我没有看到太多关于 Promise 的使用的信息 所以我有这样的担忧 有这方面的图书馆吗 我应该如何在 React 中使用 Promise React 没有像 Angular 那样附带一
  • 如何在 Windows 窗体应用程序中检测 Windows 10 何时进入平板电脑模式?

    Update 虽然不是最优雅的解决方案 但似乎有效的一种方法是观察相关的注册表值 下面是使用 WMI 执行此操作的示例 如果有比这更好的解决方案 我很乐意听取任何人的意见 using System using System Manageme
  • 使用 Ajax 的 jQuery 自动完成不会解析

    我正在尝试使用 ajax 的基本自动完成功能 我无法理解结果 我对 jQuery 比较陌生 所以我对我的语法表示歉意 我更擅长 PHP category title autocomplete source function request
  • Pandas dataframe - 重置运行总和

    我想计算给定列中的运行总和 当然不使用循环 需要注意的是 我还有另一列指定何时将运行总和重置为该行中存在的值 最好通过以下示例进行解释 reset val desired col 0 0 1 1 1 0 5 6 2 0 4 10 3 1 2
  • 使用 mssql for node.js 连接到 SQL Server

    当我使用以下命令连接到 SQL Server 时收到错误消息mssqlNode js 的模块 错误 连接到 192 168 1 101 sql 1433 失败错误 getaddrinfo ENOENT var config driver m
  • 使用 Qt 将 HTML 转换为 PDF

    我正在尝试将 HTML 文件转换为 PDF 整个想法是创建一个包含多个页面的 pdf 用 HTML 文件内容填充第一个页面 目前我正在尝试这样做 代码是 include qprinterexample h include
  • 由于错误的 strcmp 参数处理而生成警告

    所以我有一个 unsigned char pMyPtr 分配给某事 然后我想将其与任意字符串进行比较 strcmp const char const char 但是当我这样做时 clang编译器告诉我 warning passing aka
  • 您将如何审核 ASP.NET 成员资格表,同时记录哪些用户进行了更改?

    使用基于触发器的方法进行审计日志记录 我记录对数据库中的表所做的更改的历史记录 我使用的方法 使用静态 SQL Server 登录 记录哪个用户进行了更改 涉及在每个数据库连接开始时运行一个存储过程 触发器在记录审计行时使用此用户名 触发器
  • Pip 在 Windows 7 中挂起

    I have Python 2 7 10在 Windows 7 上使用 pip 安装 当我尝试安装软件包甚至只是运行时pip在没有选项的cmd中 它堆叠 不打印任何内容 甚至ctrl c也不起作用 我必须关闭cmd 任务管理器显示3个正在运
  • CESS_ESP 标签的定义

    我正在使用NLTK http www nltk org CESS ESP 数据包 我已经能够使用适应 的意大利面标记器 https code google com p spaghetti tagger and a HiddenMarkovM
  • 通过管道发送到 AWS SES 地址的电子邮件到 EC2 上的 PHP 脚本

    我们在 Amazon SES 上设置了一个域 我需要将传入的电子邮件通过管道传输到 EC2 实例上的 PHP 脚本中的特定地址进行处理 我已经在 Cpanel 的共享服务器上使用转发器完成了此操作 opt alt php56 usr bin
  • 使用同一个类的函数在类内创建线程

    我希望能够定义一个包含一些数据成员的类 以及一个可以访问这些数据成员的函数 这些数据成员是私有的 然后我想要一个公共函数 它创建一些线程 这些线程对类的数据成员进行操作 我在编译代码时遇到一些问题 不要担心互斥体或数据保护 这不会成为问题
  • R 读取 zip 数据文件而不解压缩它

    我有一个非常大的 zip 文件 我试图将其读入 R 而不像这样解压缩 temp lt tempfile Sales fileext c zip data lt read table unz temp Sales dat nrows 10 h
  • Typemock Isolator:模拟未注入的依赖项?

    My WidgetDoer类取决于Foo 未注入 我需要假装 foo的实施DoStuffWith 然后验证Do 返回结果 这是我的真实代码的简化表示 public class WidgetDoer readonly Foo foo publ