特定参数参数的InlineAutoData数据

时间:2014-07-17 14:07:06

标签: c# unit-testing xunit.net autofixture

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

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

上述内容将引发将RuntimeType转换为IFoo的例外情况。

我的问题是,如何告诉AutoFixture为第一个参数生成成员,并在此场景中为第二个参数使用null(或者是否可能)?

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

2 个答案:

答案 0 :(得分:0)

我也是新手,但我认为这可以解释原因:"使用第一个方法参数的InlineData值,然后使用AutoData(当InlineData值运行时)出)&#34。 per:github.com/AutoFixture/AutoFixture/wiki/Cheat-Sheet

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

答案 1 :(得分:-3)

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