问题标签 [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.
c# - AutoFixture 可以在对象创建时执行委托吗?
我正在寻找自定义AutoFixture的创建时行为,以便我可以在生成和分配固定装置的属性后设置一些依赖对象。
例如,假设我有一个自定义 a 的方法,User
因为它的IsDeleted
属性对于某些测试集总是必须为 false:
(我将ObjectBuilder
返回给测试,以便它可以在必要时进一步定制夹具。)
我想做的是Id
在创建时自动将该用户与匿名集合相关联,但我不能按原样执行此操作,因为Id
在我将返回值交回单元测试时尚未生成恰当的。这是我正在尝试做的事情:
这样的事情可能吗?或者也许有更好的方法来实现我创建匿名对象图的目标?
c# - AutoFixture:配置一个开放的泛型样本生成器
我有一个使用开放泛型的对象模型(是的,是的,现在我有两个问题;这就是我在这里的原因:) :-
我正在尝试让 AutoFixture 生成D
上述匿名实例。然而,就其本身而言,AutoFixture 没有内置的构建策略IOGF<>
,因此我们观察到:
基本信息是:
Ploeh.AutoFixture.ObjectCreationException : AutoFixture 无法从 IOGF`1[C] 创建实例,很可能是因为它没有公共构造函数,是抽象或非公共类型。
我很高兴为它提供一个具体的实现:
以及相关的绑定:
我如何(或者我什至应该以这种方式看待问题??)使以下测试通过?
(在 codeplex 网站上有关于此的讨论和问题 - 我只需要快速了解一下,如果这只是一个坏主意和/或我错过了一些东西,我愿意删除它)
编辑 2:(另请参阅对 Mark 的回答的评论)这里的(诚然人为的)上下文是对大型“几乎完整的系统”系统被测对象图的验收测试,而不是小型(受控/易于 grok :) 对或三元组单元或集成测试场景中的类。正如自我问题的括号陈述中提到的那样,我并不完全相信这种类型的测试甚至有意义。
c# - AutoFixture - 配置夹具以限制字符串生成长度
当对某种类型使用 AutoFixture 的 Build 方法时,如何限制生成的字符串的长度以填充该对象的字符串属性/字段?
c# - AutoFixture 是否生成 2 个不同的列表?
我是 AutoFixture 的新手,并快速测试了它的功能,但我遇到了一些障碍。下面是我的测试:
没有什么花哨。我遇到的问题是,当我第一次创建 的匿名实例时SyncFolderItemsResult
,SyncItemsChanges
从我创建它到我断言我正在绑定正确ItemId
的 's 时,它们是不一样的。因此,使测试失败。
为什么我要生成 2 个不同的列表?
c# - 自动夹具和接口
假设我有接口:
如果IFoo
是上课,我可以写:
结果将为 和 设置Bar1
数字Bar2
。
但是如何使用接口来做到这一点?我尝试使用AutoMoqCustomization
,但这似乎适用于具有接口类型而不是接口本身的属性。
我正在寻找像CreateAnonymous
上课一样的自动化方式。目前我正在创建界面模拟并明确设置它的属性,这是我想要保存的工作。我必须遗漏一些明显的东西。
c# - 如何在具有内部 ctor 的类上使用 AutoFixture.CreateAnonymous<>()
我做了类似以下的事情
现在,InternalsVisibleTo
我在我的单元测试程序集中添加了一个,以便能够访问内部 Bar ctor,然后我做了:
问题:
这是使用 AutoFixture 的“正确”方式还是有更好的方式?
c# - 单元测试中的重复代码
我们发现自己在许多测试用例中编写重复的夹具/模拟设置 - 例如这种情况:
根据测试应该是自包含且从头到尾可读的想法,我们不使用神奇的设置/拆卸方法。
我们能以任何方式(AutoFixture 自定义、辅助方法)减少这些测试的“繁重工作”吗?
java - Ploeh 的 AutoFixture for .Net 是否有 Java 替代品?
我正在寻找一种 Java 工具,它可以在我的测试中创建匿名变量(我不关心其值的变量),类似于 .Net 中的 AutoFixture。这是AutoFixture 的自述文件的链接,其中有很好的例子来说明它的作用。
这是取自同一个自述文件的一个简短示例:
Java世界有这样的工具吗?
编辑:
我尝试了 QuickCheck,虽然它设法完成了我正在寻找的事情:
该工具似乎只适用于接口。如果我将 Test 更改为类并将方法更改为字段,则生成器会引发仅支持接口的异常。
我真诚地希望有更好的东西,特别是因为文档严重缺乏。
c# - 具有等效于 AutoFixture 'With' 的匿名值的广义 Func 包装
在基于 AutoFixture 的测试中,我试图尽可能清晰地表达以下内容:
当我传给这个方法的<input>
参数x
,匿名填写其他参数,结果是……
以工厂方法为例:-
我试图表达为一系列简洁的测试:
- 如果我通过 null for
x
,它应该抛出 - 如果我通过 null for
y
,它应该抛出
为了表达我可以说:
对于仅略有不同的第二种情况,我需要这样做:
对于属性,With
在 AutoFixture 中有。方法(和/或 ctor)参数是否有等价物?
PS 0. 我不介意在这种情况下是否有必要进入“魔术”字符串 - 即,有x
一点 be "x"
。
PS 1. 房间里的另一头大象是我的头撞到了Get
AutoFixture 中的 4 倍过载 - 或者是因为我在这个环境中有一个旧版本?
PS 2.也愿意接受关于如何建模的更好建议 - 只要他们处理我希望它是方法调用而不是属性或字段的事实(并且我希望它在 AutoFixture 样式中工作)。
.net - 将 [AutoFixture] SemanticComparison OfLikeness 应用于序列/集合/数组/IEnumerable
我们编写了一个如下所示的测试。此测试要求我们Equal
为 -class 创建了 en -overload CodeTableItem
:
测试工作正常,但不幸地依赖于Equality
-function,这意味着如果我CodeTableItem
用一个更多字段扩展 -class,并且忘记扩展Equals
-function,单元测试仍然运行绿色,尽管我们没有测试所有字段. 我们想避免这种Equality
污染(参见测试特定的平等),它只是为了符合测试而编写的。
我们尝试过使用OfLikeness
,并以这种方式重写了测试:
但测试失败,因为Capacity
不相等。我编写了多次通过反射运行的代码,并且通常最终实现了忽略字段的重载。有没有办法用OfLikeness
or忽略某些字段ShouldEqual
?还是有其他方法可以解决这个问题?