AutoFixture: PropertyData y parámetros heterogéneos
Dada la siguiente prueba:
[Theory]
[PropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
)
{
var fixture = new Fixture();
var sut = fixture.Create<HtmlOutputBuilder>();
sut.DoSomething();
// More code
}
Quiero encapsular la creación de aparatos en su propia clase, algo así como:
[Theory]
[CustomPropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
, HtmlOutputBuilder sut
)
{
sut.DoSomething();
// More code
}
El problema es que estoy usandoPropertyData
y este último está suministrando dos parámetros de entrada. El hecho de que estoy intentando crear automáticamente mi accesorio como parámetro está causando una excepción.
Aquí está el CustomPropertyData:
public class CustomPropertyDataAttribute : CompositeDataAttribute
{
public CustomPropertyDataAttribute(string validInput)
:base(new DataAttribute[]
{
new PropertyDataAttribute(validInput),
new AutoDataAttribute(new Fixture()
.Customize(new HtmlOutpuBuilderTestConvention() )),
})
{
}
}
¿Cuáles son las opciones para resolver esto?