Angesichts des folgenden Tests:
[Theorie]
[PropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
)
{
var fixture = new Fixture();
var sut = fixture.Create();
sut.DoSomething();
// Mehr Code
}
Ich möchte die Erstellung der Vorrichtung in eine eigene Klasse kapseln, so etwas wie:
[Theorie]
[CustomPropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
, HtmlOutputBuilder sut
)
{
sut.DoSomething();
// Mehr Code
}
Das Problem ist, dass ich PropertyData
verwende und letzteres zwei Eingabeparameter bereitstellt. Die Tatsache, dass ich dann versuche, meine Vorrichtung automatisch als Parameter zu erstellen, führt zu einer Ausnahme.
Hier ist das CustomPropertyData:
public class CustomPropertyDataAttribute : CompositeDataAttribute
{
public CustomPropertyDataAttribute(string validInput)
:base(new DataAttribute[]
{
new PropertyDataAttribute(validInput),
new AutoDataAttribute(new Fixture()
.Customize(new HtmlOutpuBuilderTestConvention() )),
})
{
}
}
Was sind die Optionen, um dieses Problem zu lösen?