AutoFixture:无法创建实例,可能没有公共构造函数

2024-02-21

我似乎遇到了问题,我有一个类(LoginService)在构造函数中接受 IUser。这是为了执行集成测试而不是单元测试,因此我不想模拟这些,我已经有了一些单元测试,并且它们使用带有固定装置的 Moq 工作得很好。

我设置了我的装置:-

  var fixture = new Fixture();

然后我希望能够冻结 IUser 的一个版本,我尝试了以下操作,但我无法让它工作,它抱怨它无法创建实例,可能是由于没有构造函数。

  var user = fixture.Freeze<IUser>();

所以我设法让它发挥作用,执行以下操作

  IUser user = new User();  // Create my IUser manually
  fixture.Inject(user);

然后最后创建 sut ,果然实例被注入了。

  var sut = fixture.Create<LoginService>();

那么我这样做正确吗?我可以不使用 Freeze 而应该继续手动创建 IUser 并将其注入到装置上吗?

期待任何帮助或信息


是的,这是正确的——如果你想提供一个特定的实例IUser to the LoginService你必须注射它。

请记住Inject将影响所有后续请求(如果有)IUser.

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

AutoFixture:无法创建实例,可能没有公共构造函数 的相关文章

  • Qt 图表和数据可视化小部件

    我已经安装了 Qt 5 7 来尝试 Qt 图表和 Qt 数据可视化 但我在 Qt Designer 和 Qt Creator 中都找不到新的小部件 有什么建议我应该做什么才能让新的小部件出现在设计器中 我今天遇到了完全相同的问题 默认情况下
  • 具有相同参数类型但具有不同常量限定符的 std::vector 的转换

    问题很简单 静态转换 或其他一些转换 通常是安全的 std vector lt Foo gt to std vector lt const Foo gt 就二进制而言 我不明白为什么本机类型会有所不同 毕竟const是一种语言约束 不应影响
  • 使用 Json.NET 序列化子类

    我正在尝试使用 Json NET 序列化子类 生成的 json 包含超类的序列化属性 但是not子类对象的属性 这似乎与我发现的一个问题有关这里就这样 https stackoverflow com q 5863496 498969 但必须
  • 深拷贝和动态转换 unique_ptr

    假设我有一个如下所示的类 class A virtual A class B public A class C public A 我还有一个 unique ptr 向量 它是这样声明的 std vector
  • C# 无法捕获 SerializationException

    我的程序在加载序列化文件的部分遇到问题 如果文件无法反序列化 我希望很好地失败 但由于某种原因 我的程序将中断而不是进入 catch 子句 这是我的代码 using FileStream fs new FileStream openFile
  • 嵌入资源文件的路径

    我的资源文件中有一个图标 我想引用它 这是需要图标文件路径的代码 IWshRuntimeLibrary IWshShortcut MyShortcut MyShortcut IWshRuntimeLibrary IWshShortcut W
  • 如何在C中同时运行两个子进程?

    所以我开始学习并发编程 但由于某种原因我什至无法掌握基础知识 我有一个名为 fork c 的文件 其中包含一个 main 方法 在此方法中 我将 main 分叉两次 分别进入子进程 1 和 2 在孩子 1 中 我打印了字符 A 50 次 在
  • 组合框下拉位置

    我有一个最大化的表单 其中包含 500px 的组合框控件 停靠在右上角 Width 尝试打开组合框后 列表的一半超出了屏幕 如何强制列表显示在表单中 棘手的问题 我找不到解决这个问题的好办法 只是一个解决方法 添加一个新类并粘贴如下所示的代
  • 无法加载程序集问题

    我收到以下错误 无法加载程序集 错误详细信息 System BadImageFormatException 无法加载文件或程序集 文件 或其依赖项之一 该程序集是由比当前加载的运行时更新的运行时构建的 无法加载 该程序集是使用 Net Fr
  • opencv中如何去除二值图像噪声?

    将图像转换为二值图像 黑白 后如果有任何噪音怎么办 我消除了那些不需要的噪音 您可以看到下图的黑色区域内有一些白噪声 我该如何去除噪声 使用opencv http img857 imageshack us img857 999 blackn
  • 我可以将 UseCSharpNullComparisonBehavior 用于单个查询吗?

    我有一个查询 该查询曾经是存储过程 现已转换为 EF 查询 现在已经超时了 使用 SQL Profiler 我可以看到生成的 SQL 的唯一区别是 EF 转变的新行为entity Property value into entity Pro
  • 您对“大规模 C++ 软件设计”的看法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 正在阅读亚马逊评论 https rads stackoverflow com amzn click com 0201633620 and ACC
  • 如何构建一棵与或树?

    我需要一个支持 与 和 或 的树结构 例如 给定一个正则表达式 如ab c d e 我想把它变成一棵树 所以 一开始我们有两个 或 分支 它可以向下ab or c d e 如果你低头ab分支 你得到两个节点 a and b or a其次是b
  • 使用数据绑定,如何将包含表情符号的文本绑定到标签并使其正确显示?

    我正在编写一个应用程序来连接 WordPress BuddyPress API 该应用程序将允许用户通过 API 相互发送消息 当这些消息包含表情符号时 我很难正确显示它们 以下是 API 返回的消息文本的简短示例 Hi x1f642 ho
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • 如何在 C# 中更改公共 IP 地址

    我正在创建一个 C winform 应用程序 我想在其中更改公共 IP 地址 而不是像 Hotspot Shield ZenMate OpenVPN 等那样更改 IPv4 地址 我已经检查了以下链接 但没有找到足够的帮助 所以我发布了这个问
  • Boost.asio和异步链,unique_ptr?

    我对异步编程不太熟悉 我有一个问题 我的问题如下 给出 boost asio 中 C 11 的 echo server 示例 http www boost org doc libs 1 60 0 doc html boost asio ex
  • 为什么在构造函数中设置字段是(或不是)线程安全的?

    假设您有一个像这样的简单类 class MyClass private readonly int a private int b public MyClass int a int b this a a this b b public int
  • 使用 CodeDOM 将程序集添加到 BuildManager 会导致间歇性错误

    我正在使用 CodeDOM 在运行时创建内存中程序集 如下所示 public Assembly Compile CodeCompileUnit targetUnit string path Path GetDirectoryName new
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma

随机推荐

  • geocoder.getFromLocationName 仅返回 null

    这两天我快要疯了IllegalArgumentException当尝试从地址中获取坐标 甚至反向获取经度和纬度地址时 我在 Android 代码中收到错误 这是代码 但我看不到错误 它是一个标准代码片段 很容易在 Google 搜索中找到
  • Mercurial:远程:中止:这里没有 Mercurial 存储库(未找到 .hg)!

    all 我已经寻找这个问题很长时间并尝试了不同的方法 我想仅通过 SSH 在服务器上维护我的代码 但是当我运行这个时 sudo hg clone v ssh carl hostname home carl Java Projects pet
  • 20hz-20000hz 巴特沃斯滤波爆炸

    我想过滤掉 20 Hz 20000 Hz 之外的所有内容 我正在使用巴特沃斯滤波器 from scipy io import wavfile from scipy import signal import numpy sr x wavfil
  • Javascript 字符串大小限制:对我来说是 256 MB - 所有浏览器都一样吗?

    我很好奇我能在 Javascript 中获得的最大字符串长度是多少 今天我在 Windows 7 中运行的 Firefox 43 0 1 上亲自测试了它 我能够构造一个具有长度的字符串2 28 1 但是当我尝试创建一个多一个字符的字符串时
  • C# ImageFormat 转字符串

    我怎样才能获得人类可读的字符串 即图像格式本身 来自系统 绘图 图像格式目的 我的意思是如果我有ImageFormat Png是否可以将其转换为 png 字符串 EDIT 我在这里看到一些误解 这是我的代码 Image objImage I
  • 如何检测是否在osgi容器中运行

    我有一个 OSGi 包 也可以在纯 Java 进程中运行 我需要能够判断捆绑包是否已加载到 OSGi 系统中 我怎样才能做到这一点 如果没有 OSGi 标准方法来执行此操作 我将采用 Eclipse Equinox 特定的方法 将 Bund
  • Safari 11 X-XSRF-TOKEN 刷新后未更新

    最近 Mac OSX 上的 Safari 11 发布 此更新导致我们的 Web 应用程序与请求标题上的 XSRF 结合出现问题 我将尝试以逻辑方式描述问题 好的情况应该是这样的 当用户想要登录时 他会收到服务器的响应 其中包含包含 XSRF
  • 如何使用 React 和表单来获取选中的复选框值的数组?

    我正在尝试为我的投资组合网站构建一个过滤器 复选框可让您选择一种技术 react redux jquery 等 来显示包含该技术的作品 因此 每次用户单击某个框时 我都想将值 JavaScript Redux React 等 添加到一个数组
  • 绿色线程是否等于“真实”线程

    我从以下位置获取了示例代码理解 eventlet wsgi server https stackoverflow com questions 8509209 unterstanding eventlet wsgi server from e
  • 使用 CSS 更改悬停时的文本颜色

    我已经搜索过 但找不到与我遇到的这个问题相关的任何内容 我多年来一直试图解决这个问题 但似乎无法做到 我有一个 div 里面有文本和图像 我希望当我将鼠标悬停在 div 内的任何位置时 div 内的所有文本和背景都会改变颜色 我已经做到了底
  • 电视指南列表 API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法从 Apple 开发者中心删除 App ID

    我已经看到 Apple 更改了 iOS 开发中心的证书 标识符和配置文件页面 并在堆栈上阅读此问题 答案 从开发者连接中删除应用程序 ID https stackoverflow com questions 996477 removing
  • 如何使用 ajax get 或 post 在 mvc 中使用参数将数据从视图传递到控制器

    我正在尝试使用 ajax 将数据从视图传递到控制器操作方法 如下所示 我有一个用户的 Membership 实例 我使用 viewbag 从另一个控制器传递到下面的这个视图 有点像这样 ViewBag MyUser MyUser 现在我想使
  • 使用另一种身份验证方法进行外部 api 调用

    我有一个带有 MVC 的 Web API 应用程序 当用户使用网站时 身份验证和授权当前由我使用的全局表单身份验证自动处理 在 Web config 中配置如下
  • 我可以像一样从房间查询中获取数据吗?

    我知道我可以通过使用数据类来做到这一点 但我想实现像这样 This is My Query Query SELECT loan amount adv interest amount FROM new pledge receive WHERE
  • 是否有 Node.js 默认凭证提供程序链?

    我正在编写一个使用 AWS SDK 的 node js 应用程序 java文档描述了一个非常方便的概念 称为默认凭证提供者链 https docs aws amazon com sdk for java v1 developer guide
  • python:如何获取 dict 的子集

    我有一个包含很多元素的字典 我想编写一个可以返回给定索引范围中的元素的函数 将字典视为数组 get range dict begin end return a new dict for all the indexes between beg
  • AngularJS:指令隔离范围未定义

    我正在写一个指令isolate scope双向绑定AngularJS 但是 我似乎无法使双向绑定发挥作用 无论我做什么 populate财产在isolate scope总是undefined 尽管该属性确实存在 而不是它应该绑定的值 HTM
  • 在 Xamarin.iOS 中调用方法并将数据从视图控制器 B 传递到视图控制器 A

    我有一个视图控制器 A 我在其中检索一些值 在某些情况下 如果有多个值可用 用户必须选择一个值 因此 我展示了另一个视图控制器 B UITableView 让用户在其中选择条目 当我当前在 B 上时 如何从 A 调用方法 以避免重复的代码
  • AutoFixture:无法创建实例,可能没有公共构造函数

    我似乎遇到了问题 我有一个类 LoginService 在构造函数中接受 IUser 这是为了执行集成测试而不是单元测试 因此我不想模拟这些 我已经有了一些单元测试 并且它们使用带有固定装置的 Moq 工作得很好 我设置了我的装置 var