AutoFixture 2 With() 无法像 AutoFixture 1 中那样工作?

2024-03-10

我正在将我的测试移植到自动夹具2.0 http://autofixture.codeplex.com/,我遇到了一些奇怪的行为,我既无法解释也无法修复。这个简单的测试对我来说失败了:

var autoFixtures = new Fixture();
var file = autoFixtures.Build<File>()
                       .With(f => f.Name, "bleh.txt")
                       .CreateAnonymous();

Assert.That(file.Name, Is.EqualTo("bleh.txt"));  // Fail?!

如果我改变,测试就会成功Name到另一个财产File,这让我认为我有某种定制Name当我使用 AutoFixture 1.0 时,这不起作用。不过,我已经搜索了我的代码,但找不到类似的东西。

启用跟踪似乎没有多大帮助。

autoFixtures.Behaviors.Add(new TracingBehavior());

显示,除其他外:

Requested: System.String Name
    Requested: Ploeh.AutoFixture.Kernel.SeededRequest
    Created: Ploeh.AutoFixture.Kernel.NoSpecimen
  Requested: Ploeh.AutoFixture.Kernel.SeededRequest
    Requested: System.String
    Created: Ploeh.AutoFixture.Kernel.NoSpecimen
    Requested: System.String
    Created: 8a022fda-fa4e-49b7-b0c2-285fef765386
  Created: Name8a022fda-fa4e-49b7-b0c2-285fef765386
Created: Name8a022fda-fa4e-49b7-b0c2-285fef765386

FWIW, Name被声明为虚拟财产File的基类,然后在File像这样:

public abstract class Item
{
    public virtual string Name { get; set; }
    ...
}

public class File : Item
{
    public override string Name { get; set; }
    ...
}

如果有人对我可能尝试的事情有任何想法,或者我可能无意中自定义了某个地方的行为Name财产,我将不胜感激!


您刚刚发现 AutoFixture 2.0 中的一个错误。我现在已经解决了它并将更改推送到存储库(变更集 3efe812aecd1),所以如果您下载最新源码 http://autofixture.codeplex.com/SourceControl/list/changesets并编译它,它应该可以工作。

如果您感兴趣,它与被子类覆盖的虚拟财产有关 - 显然我不经常这样做。

对于这个错误,我们深表歉意。如果问题尚未解决,或者您还有其他问题,请告诉我。

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

AutoFixture 2 With() 无法像 AutoFixture 1 中那样工作? 的相关文章

随机推荐

  • TYPO3 Extbase如何清空ObjectStorage

    我想在更新对象时 清空 ObjectStorage 它是 TYPO3 4 6 带有 Extbase 扩展 允许您在前端显示 添加 编辑 删除数据集 乍一看一切看起来都不错 我有一个字段引用另一张表 TCA partner gt array
  • Fortran 77 续行[重复]

    这个问题在这里已经有答案了 所以我必须用 fortran77 和 f 文件扩展名编写这个程序 并且我不想使用选项来编译它 我想修复该错误 但由于某种原因 我尝试过的所有操作仍然给我这个错误 我已经包含了代码和错误终端输出 程序 p1 隐式无
  • Android getActivity() 在片段内总是返回 null

    我遇到了一个奇怪的问题 getActivity 方法always在片段内返回 null 我在 onAttach 和 onCreateView 完成运行后调用它 该片段位于包含片段堆栈的 FragmentActivity 内 我向其中添加片段
  • 上传的图片仅在刷新页面后可用

    当我上传图片时 文件保存成功 路径设置成功 但表单提交后上传的图像并没有立即显示 仅当我重新加载页面时 才会显示上传的图像 我正在保存上传的文件 如下所示 InputStream is try File file new File C Do
  • 未找到 CodeIgniter 对象,仅索引函数有效

    我是 CodeIgniter 的新手 一切都很顺利 直到我发现我只能打电话给index 功能 我已经设置了config php autoload php and routes php正如预期的那样 在 config php 上 config
  • 从 .eml 文件获取文本的最佳方法是什么?

    我尝试从本地驱动器上的几个 eml 文件获取主题和消息正文 现在我尝试使用 Apache Commons Email 但有时它会循环且没有错误 这是我的代码 它应该从 eml 获取文本并将其保存到 txt MimeMessage mimeM
  • 如何修复 x86 Turbo 汇编语言的输出

    DOSSEG MODEL SMALL STACK 100h DATA UserName db Name CLRF db 10 13 inputName db 24 dup CurYear db Current Year inputCurre
  • GWT java.util.Date 序列化错误

    GWT 无法正确序列化 Java 日期 当我尝试通过网络发送用 Javascript 创建的日期时 我发现 1983 年之前的年份中 4 月 1 日 有趣 到 10 月 25 日之间的日期会减去一天 这意味着 例如 1982 04 01 和
  • Databricks 删除增量表?

    如何在 Databricks 中删除增量表 我在文档中找不到任何信息 也许唯一的解决方案是使用 magic 命令或 dbutils 删除文件夹 delta 内的文件 fs rm r delta mytable EDIT 为了澄清起见 我在这
  • 如何在 Mobile Safari 中检测 3G 与 Wifi 连接?

    我特别询问的是移动网页上的 javascript 而不是 Objective C 应用程序 是否有像 Apple Reachability for javascript 这样的东西 以便我可以知道 Edge 3G 或 Wifi 连接何时建立
  • 如何从 cognito 异步函数返回响应并将其显示在页面上?

    给出下面的代码 当响应成功或失败时 如何将响应输出回网页 loginUser data var authenticationData Username data email Password data password var authen
  • ConfigParser - 打印 config.sections() 返回 []

    我正在尝试使用ConfigParser模块来解析 ini文件 问题是当我尝试打印时sections或者其他什么 它返回空列表 配置文件 SERVER host localhost port 9999 max clients 5 REGULA
  • 如何在 Android NDK 中创建新的 NativeWindow?

    我尝试了 test libstdc 演示 并且喜欢我可以从控制台启动它 而无需运行成熟的 Android 应用程序 我想创建一个 opengl 上下文 以便我能够从控制台内执行我的 opengl es 2 0 应用程序 而无需太多麻烦 知道
  • Distutils:构建多个共享方法的 Python 扩展模块(用 Swig 编写)

    我有四个 C 文件 A h A cpp B h B cpp A h 包含在 B cpp 中 A h pragma once void A A cpp include
  • 以编程方式创建选择列表

    有谁知道使用 JQuery 以编程方式创建包含选项的 HTML 选择列表的技术 var arr val 1 text One val 2 text Two val 3 text Three var sel
  • Redis serviceStack池化连接客户端

    我正在设计一个使用 Redis 作为数据库的 Web 服务 我想了解使用 Redis 与 StackService 客户端连接的最佳实践 重点是 我一直在阅读有关 Redis 的内容 并且发现与服务器交互的最佳方式是使用单个并发连接 问题是
  • 使用 Firebase 进行数据库式查询

    有没有一种快速的方法可以使用 Firebase 执行数据库式查询 例如 给出 firebase 参考users有字段user id name and age 执行与此类似的查询的最佳方法是什么 SELECT name FROM users
  • 如何处理原始数据(用Python)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我没有很好地解释这一点 所以希望这个编辑更有意义 基本上我必须编写适用于大量测试用例的代码 下面的输入只是一个示例 所以我无法手动将输入输
  • Angular 2 - 当(observableData | async)尚未解析时显示加载信息

    正如标题所说 我想拥抱 rxjs Observables 的力量 我现在应该做什么 dataview html div Loading data div gt ul li d value li ul dataview ts data any
  • AutoFixture 2 With() 无法像 AutoFixture 1 中那样工作?

    我正在将我的测试移植到自动夹具2 0 http autofixture codeplex com 我遇到了一些奇怪的行为 我既无法解释也无法修复 这个简单的测试对我来说失败了 var autoFixtures new Fixture var