Предположим, что у меня есть следующий параметризованный тест,
[Theory]
[InlineAutoData(typeof(IFoo), null)
public void FooBar(IFoo foo, IBar bar)
{
// Do stuff
}
Вышеприведенное исключает возможность преобразования RuntimeType
в IFoo
.
Мой вопрос, как я могу сказать AutoFixture, чтобы сгенерировать член для первого параметра, и использовать null для второго в этом сценарии (или это возможно)?
Насколько я могу судить, 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
}