InlineAutoData特定参数参数的数据

本文关键字:参数 数据 InlineAutoData | 更新日期: 2023-09-27 18:13:18

假设我有以下参数化测试,

[Theory]
[InlineAutoData(typeof(IFoo), null)
public void FooBar(IFoo foo, IBar bar)
{
    // Do stuff
}

上面的代码将抛出一个关于将RuntimeType转换为IFoo的异常。

我的问题是,我如何告诉AutoFixture为第一个参数生成一个成员,并在这种情况下使用null为第二个(或者它是可能的)?

据我所知,InlineAutoData有限制,你必须按顺序指定数据和任何未指定的数据自动生成,但这并不完全理想,我希望我是错的?

InlineAutoData特定参数参数的数据

我对这也是新的,但我认为这将解释为什么:"使用InlineData值的第一个方法参数,然后使用AutoData的其余部分(当InlineData值用完)。" per: github.com/AutoFixture/AutoFixture/wiki/Cheat-Sheet

(根据@AlexAngas的建议添加的答案)

[Theory]
[InlineAutoData(null)]
public void FooBar(IBar bar, IFoo foo)
{
    // Do stuff
}