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:无法创建实例,可能没有公共构造函数 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 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