如何为AutoData
指定参数?
例如,我的代码中包含以下内容:
var fixture = new Fixture();
fixture.Customizations.Add(
new TypeRelay(
typeof (IOrder),
typeof (Order)));
我想使用不同的夹具数据进行多次测试。我将如何设置以下内容:
.Customizations.Add()
或.Build()
/ .With
/ .Do
,以便在使用AutoData
灯具时指定了此名称? 最佳答案
您可以package various repeated AutoFixture customizations into one or more Customizations。
对于特定的示例,它看起来像这样:
public class OrderCustomization : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customizations.Add(
new TypeRelay(
typeof(IOrder),
typeof(Order)));
}
}
用法:
var fixture = new Fixture().Customize(new OrderCustomization());
var order = fixture.Create<IOrder>();
您可以通过creating a derived attribute that passes a Fixture instance to the appropriate base class constructor将它们与
[AutoData]
一起使用。关于c# - 具有参数的AutoFixture AutoData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35412544/