似乎Xunit不再支持扩展TraitAttributes。他们密封了班级。
Autofixture的AutoData插件插件还存在一些其他问题,我们可以通过属性注入随机创建的数据。有一些解决方法,但我试图评估这个整体更大的产品。我喜欢这个演示,因为他们可以做一些小事,比如SQL,Excel,类别的自定义属性。
在更改之前似乎有更多功能。我查看了该网站仍然看到一些功能正在返回,并没有太多的信息。
是否有新功能出现?或者可能是一个允许我们以新方式重新创建旧功能的更改?似乎SQL和Excel有一个解决方法,但是我找不到任何关于何时最新版本将与“与xUnit.net数据理论的自动混合”Nuget包兼容的信息。我真的很喜欢我所看到的,虽然我可以说当我看到企业解决方案时我不喜欢破坏变化。当我想到如果我在企业中有这个并且我已经制作了很多自定义属性,或者使用Moq和Autofixture来填充并且现在我的所有测试都被打破时,我有点畏缩。所以我猜另一个问题是,Xunit似乎在改变方面发生了很大变化吗?还有另一个选择将Xunit移回版本。虽然在某些时候我需要知道这些东西是否会被修复或是否被永久删除,因为我不想花时间使用被删除的功能。
另一个是AutoFixtureMoqAutoDataAttribute,如果没有该端的Nuget包,则不会加载。随着侧面nuget包没有更新。
我想结束的问题可能是..有没有人知道任何计划让这些功能与xunit的当前版本一起使用,以便我可以开始实现,然后期望稍后进行批量替换?或者这些永久性的变化是我们不应该实现目前缺失的任何东西。
提前谢谢你。
答案 0 :(得分:4)
简短回答
如果您想将xUnit.net 1.x 与自动混合一起使用,请使用AutoFixture.Xunit。
如果您想将xUnit.net 2.x 与自动混合一起使用,请使用AutoFixture.Xunit2。
<强>解释强>
与xUnit.net 1.x(例如1.9.2)相比,xUnit.net 2.0引入了重大变化。对于AutoFixture,我们希望确保AutoFixture支持两者。有些人希望尽快升级到xUnit.net 2.x,但也有人因为各种原因需要在xUnit.net 1.x上停留一段时间。对于那些希望或需要暂时使用xUnit.net 1.x的人来说,我们希望确保他们仍能获得各种错误修复和AutoFixture新功能的所有好处核心,所以我们为AutoFixture和xUnit.net维护了两个并行(但功能齐全)的Glue Libraries。
例如,我们刚刚发布了AutoFixture 3.30.3,它解决了AutoFixture本身的缺陷。因此,此错误修复可用于xUnit.net 1.x和2.x用户。
因此,当您需要从xUnit.net 1.x迁移到xUnit.net 2.x时,您应该卸载AutoFixture.Xunit,而是安装AutoFixture.Xunit2。据我所知,两者之间应该存在特征奇偶校验。
<强>性状强>
AutoFixture.Xunit和AutoFixture.Xunit2不使用[Trait]
属性,因此我不确切地知道您对此有何看法。
<强> AutoMoq 强>
同样,当谈到AutoFixture.AutoMoq时,它并不依赖于xUnit.net,因此我也不了解这里的问题。这听起来像是一个单独的问题,因此您可能需要考虑单独提问。