C# AutoFixture.AutoNSubstitute不自动生成接口中属性的数据

C# AutoFixture.AutoNSubstitute不自动生成接口中属性的数据,c#,nsubstitute,autofixture,C#,Nsubstitute,Autofixture,我想使用AutoFixture自动生成测试数据,目前正在使用mocking framework NSubstitute。但是,我无法为接口上的属性生成随机数据。我有以下测试用例设置: public interface IFoo { Guid Id { get; set; } string Value { get; set; } } [Fact] public void TestCase() { var fixture = new Fixture().Customize(

我想使用AutoFixture自动生成测试数据,目前正在使用mocking framework NSubstitute。但是,我无法为接口上的属性生成随机数据。我有以下测试用例设置:

public interface IFoo
{
    Guid Id { get; set; }
    string Value { get; set; }
}

[Fact]
public void TestCase()
{
    var fixture = new Fixture().Customize(new AutoNSubstituteCustomization());
    var foo = fixture.Create<IFoo>();
    _output.WriteLine($"Id: '{foo.Id}'");
    _output.WriteLine($"Value: '{foo.Value}'");
}

创建一个具体的类会自动生成这些属性,而不是接口。让AutoFixture为接口生成数据需要什么?我假设原因是“自定义”部分中的设置不够,但不确定其中包括什么。

这可以通过在自定义部分使用
ConfigureMembers=true
来解决

[Fact]
public void TestCase()
{
    var fixture = new Fixture().Customize(new AutoNSubstituteCustomization {ConfigureMembers = true});
    var foo = fixture.Create<IFoo>();
    _output.WriteLine($"Id: '{foo.Id}'");
    _output.WriteLine($"Value: '{foo.Value}'");
}
[事实]
公共无效测试用例()
{
var fixture=new fixture().Customize(新的AutoNSubstituteCustomization{ConfigureMembers=true});
var foo=fixture.Create();
_WriteLine($“Id:'{foo.Id}');
_WriteLine($“Value:'{foo.Value}'”);
}

链接中的答案与为我的用例提供的解决方案相比更为详细。但我会标记为重复
[Fact]
public void TestCase()
{
    var fixture = new Fixture().Customize(new AutoNSubstituteCustomization {ConfigureMembers = true});
    var foo = fixture.Create<IFoo>();
    _output.WriteLine($"Id: '{foo.Id}'");
    _output.WriteLine($"Value: '{foo.Value}'");
}