问题标签 [autofixture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1598 浏览

c# - AutoFixture 可以在对象创建时执行委托吗?

我正在寻找自定义AutoFixture的创建时行为,以便我可以在生成和分配固定装置的属性后设置一些依赖对象。

例如,假设我有一个自定义 a 的方法,User因为它的IsDeleted属性对于某些测试集总是必须为 false:

(我将ObjectBuilder返回给测试,以便它可以在必要时进一步定制夹具。)

我想做的是Id在创建时自动将该用户与匿名集合相关联,但我不能按原样执行此操作,因为Id在我将返回值交回单元测试时尚未生成恰当的。这是我正在尝试做的事情:

这样的事情可能吗?或者也许有更好的方法来实现我创建匿名对象图的目标?

0 投票
2 回答
3028 浏览

c# - AutoFixture:配置一个开放的泛型样本生成器

我有一个使用开放泛型的对象模型(是的,是的,现在我有两个问题;这就是我在这里的原因:) :-

我正在尝试让 AutoFixture 生成D上述匿名实例。然而,就其本身而言,AutoFixture 没有内置的构建策略IOGF<>,因此我们观察到:

基本信息是:

Ploeh.AutoFixture.ObjectCreationException : AutoFixture 无法从 IOGF`1[C] 创建实例,很可能是因为它没有公共构造函数,是抽象或非公共类型。

我很高兴为它提供一个具体的实现:

以及相关的绑定:

我如何(或者我什至应该以这种方式看待问题??)使以下测试通过?

(在 codeplex 网站上有关于此的讨论和问题 - 我只需要快速了解一下,如果这只是一个坏主意和/或我错过了一些东西,我愿意删除它)

编辑 2:(另请参阅对 Mark 的回答的评论)这里的(诚然人为的)上下文是对大型“几乎完整的系统”系统被测对象图的验收测试,而不是小型(受控/易于 grok :) 对或三元组单元或集成测试场景中的类。正如自我问题的括号陈述中提到的那样,我并不完全相信这种类型的测试甚至有意义。

0 投票
9 回答
24981 浏览

c# - AutoFixture - 配置夹具以限制字符串生成长度

当对某种类型使用 AutoFixture 的 Build 方法时,如何限制生成的字符串的长度以填充该对象的字符串属性/字段?

0 投票
0 回答
80 浏览

c# - AutoFixture 是否生成 2 个不同的列表?

我是 AutoFixture 的新手,并快速测试了它的功能,但我遇到了一些障碍。下面是我的测试:

没有什么花哨。我遇到的问题是,当我第一次创建 的匿名实例时SyncFolderItemsResultSyncItemsChanges从我创建它到我断言我正在绑定正确ItemId的 's 时,它们是不一样的。因此,使测试失败。

为什么我要生成 2 个不同的列表?

0 投票
1 回答
6923 浏览

c# - 自动夹具和接口

假设我有接口:

如果IFoo是上课,我可以写:

结果将为 和 设置Bar1数字Bar2

但是如何使用接口来做到这一点?我尝试使用AutoMoqCustomization,但这似乎适用于具有接口类型而不是接口本身的属性。

我正在寻找像CreateAnonymous上课一样的自动化方式。目前我正在创建界面模拟并明确设置它的属性,这是我想要保存的工作。我必须遗漏一些明显的东西。

0 投票
3 回答
1361 浏览

c# - 如何在具有内部 ctor 的类上使用 AutoFixture.CreateAnonymous<>()

我做了类似以下的事情

现在,InternalsVisibleTo我在我的单元测试程序集中添加了一个,以便能够访问内部 Bar ctor,然后我做了:

问题:
这是使用 AutoFixture 的“正确”方式还是有更好的方式?

0 投票
3 回答
2304 浏览

c# - 单元测试中的重复代码

我们发现自己在许多测试用例中编写重复的夹具/模拟设置 - 例如这种情况:

根据测试应该是自包含且从头到尾可读的想法,我们不使用神奇的设置/拆卸方法。

我们能以任何方式(AutoFixture 自定义、辅助方法)减少这些测试的“繁重工作”吗?

0 投票
7 回答
5020 浏览

java - Ploeh 的 AutoFixture for .Net 是否有 Java 替代品?

我正在寻找一种 Java 工具,它可以在我的测试中创建匿名变量(我不关心其值的变量),类似于 .Net 中的 AutoFixture。这是AutoFixture 的自述文件的链接,其中有很好的例子来说明它的作用。

这是取自同一个自述文件的一个简短示例:

Java世界有这样的工具吗?

编辑:

我尝试了 QuickCheck,虽然它设法完成了我正在寻找的事情:

该工具似乎只适用于接口。如果我将 Test 更改为类并将方法更改为字段,则生成器会引发仅支持接口的异常。

我真诚地希望有更好的东西,特别是因为文档严重缺乏。

0 投票
1 回答
1224 浏览

c# - 具有等效于 AutoFixture 'With' 的匿名值的广义 Func 包装

在基于 AutoFixture 的测试中,我试图尽可能清晰地表达以下内容:

当我传给这个方法的<input>参数x,匿名填写其他参数,结果是……

以工厂方法为例:-

我试图表达为一系列简洁的测试:

  1. 如果我通过 null for x,它应该抛出
  2. 如果我通过 null for y,它应该抛出

为了表达我可以说:

对于仅略有不同的第二种情况,我需要这样做:

对于属性,With在 AutoFixture 中有。方法(和/或 ctor)参数是否有等价物?

PS 0. 我不介意在这种情况下是否有必要进入“魔术”字符串 - 即,有x一点 be "x"

PS 1. 房间里的另一头大象是我的头撞到了GetAutoFixture 中的 4 倍过载 - 或者是因为我在这个环境中有一个旧版本?

PS 2.也愿意接受关于如何建模的更好建议 - 只要他们处理我希望它是方法调用而不是属性或字段的事实(并且我希望它在 AutoFixture 样式中工作)。

0 投票
5 回答
3386 浏览

.net - 将 [AutoFixture] SemanticComparison OfLikeness 应用于序列/集合/数组/IEnumerable

我们编写了一个如下所示的测试。此测试要求我们Equal为 -class 创建了 en -overload CodeTableItem

测试工作正常,但不幸地依赖于Equality-function,这意味着如果我CodeTableItem用一个更多字段扩展 -class,并且忘记扩展Equals-function,单元测试仍然运行绿色,尽管我们没有测试所有字段. 我们想避免这种Equality污染(参见测试特定的平等),它只是为了符合测试而编写的。

我们尝试过使用OfLikeness,并以这种方式重写了测试:

但测试失败,因为Capacity不相等。我编写了多次通过反射运行的代码,并且通常最终实现了忽略字段的重载。有没有办法用OfLikenessor忽略某些字段ShouldEqual?还是有其他方法可以解决这个问题?