C# AutoFixture.AutoNSubstitute不自动生成接口中属性的数据
我想使用AutoFixture自动生成测试数据,目前正在使用mocking framework NSubstitute。但是,我无法为接口上的属性生成随机数据。我有以下测试用例设置: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(
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}'");
}