如何为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/

10-09 01:10