.net核心xunit测试项目中的Autofixture的AutoData属性

时间:2019-01-14 06:50:00

标签: .net-core xunit autofixture

我可以在.net core 2.2 xunit测试项目中使用AutoData吗? AutoFixture.Xunit面向.NET Framework 4.5.2,但我无法使用它。也许还有其他用于.net核心的NuGet软件包?

1 个答案:

答案 0 :(得分:2)

如果您查看 AutoFixture.Xunit package on nuget.org,您可能会注意到以下内容:

  

通过利用xUnit.net的数据理论功能,此扩展将AutoFixture变成了用于编写单元测试的声明性框架。在许多方面,它成为测试DSL(特定于域的语言)的单元。 对于xUnit.net 2,请使用AutoFixture.Xunit2 NuGet软件包。

(我的重点。)

此外,如果展开 Dependencies 部分,您会注意到该软件包的依赖项约束:

AutoFixture (>= 4.6.0)
xunit (>= 1.8.0.1549 && < 2.0.0)
xunit.extensions (>= 1.8.0.1549 && < 2.0.0)

尤其要注意,对 xunit 的约束为< 2.0.0。换句话说,它仅适用于最高1.9.2的xunit 1.8.0.1549(我认为这是最新版本,低于2.0)。

如果要使用xUnit.net 2.0或更高版本,则应按照文档说明使用 AutoFixture.Xunit2 程序包。较新的版本也支持.NET Core。