【问题标题】:AutoFixture AutoData with arguments带参数的 AutoFixture AutoData
【发布时间】:2016-02-15 14:59:02
【问题描述】:

如何为AutoData 指定参数?

例如,我的代码中有以下内容:

var fixture = new Fixture();
fixture.Customizations.Add(
   new TypeRelay(
      typeof (IOrder),
      typeof (Order)));

我想用不同的夹具数据进行多次测试。我将如何设置:

.Customizations.Add().Build()/.With/.Do 这样在使用AutoData 夹具时是否指定了这个?

【问题讨论】:

    标签: c# .net autofixture


    【解决方案1】:

    你可以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] 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 2013-03-04
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      相关资源
      最近更新 更多