带有 Xunit 的 AutoFixture 的 AutoData 属性抛出 System.InvalidOperationException
AutoFixture's AutoData attribute with Xunit throws System.InvalidOperationException
我正在使用 xunit v2.1.0、xunit.extensions v1.8.0.1549、AutoFixture v3.40.0、AutoFixture.Xunit v3.40.0,我有这个使用 AutoData
using Ploeh.AutoFixture.Xunit;
using Xunit;
namespace Tests
{
public class ToolTests
{
[Theory, AutoData]
public void Test(int foo)
{
Assert.NotEqual(0, foo);
}
}
}
我在 Resharper (v9.2) 测试运行程序中遇到的错误是
System.InvalidOperationException No data found for Tests.ToolTests.Test
Exception doesn't have a stacktrace
我注意到 xunit.extensions 不是最新版本(当前为 v2.0.0),但是当我尝试更新给定的 nuget 包时出现错误:
Unable to resolve dependencies. 'xunit.extensions 2.0.0' is not compatible with 'AutoFixture.Xunit 3.40.0 constraint: xunit.extensions (≥ 1.8.0.1549 && < 2.0.0)'
有任何线索说明为什么会这样吗?
当您使用 xUnit 2.0 或更高版本时,您必须使用 AutoFixture.Xunit2
包,而不是 AutoFixture.Xunit
。
我正在使用 xunit v2.1.0、xunit.extensions v1.8.0.1549、AutoFixture v3.40.0、AutoFixture.Xunit v3.40.0,我有这个使用 AutoData
using Ploeh.AutoFixture.Xunit;
using Xunit;
namespace Tests
{
public class ToolTests
{
[Theory, AutoData]
public void Test(int foo)
{
Assert.NotEqual(0, foo);
}
}
}
我在 Resharper (v9.2) 测试运行程序中遇到的错误是
System.InvalidOperationException No data found for Tests.ToolTests.Test Exception doesn't have a stacktrace
我注意到 xunit.extensions 不是最新版本(当前为 v2.0.0),但是当我尝试更新给定的 nuget 包时出现错误:
Unable to resolve dependencies. 'xunit.extensions 2.0.0' is not compatible with 'AutoFixture.Xunit 3.40.0 constraint: xunit.extensions (≥ 1.8.0.1549 && < 2.0.0)'
有任何线索说明为什么会这样吗?
当您使用 xUnit 2.0 或更高版本时,您必须使用 AutoFixture.Xunit2
包,而不是 AutoFixture.Xunit
。