:AutoFixture: PropertyData ve heterojen parametreler aşağıdaki test Verilen
[Theory]
[PropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
)
{
var fixture = new Fixture();
var sut = fixture.Create<HtmlOutputBuilder>();
sut.DoSomething();
// More code
}
Ben kendi sınıfında fikstürü oluşturulmasını encapsulate istiyorum benzer bir şey:
[Theory]
[CustomPropertyData("GetValidInputForDb")]
public void GivenValidInputShouldOutputCorrectResult(
string patientId
, string patientFirstName
, HtmlOutputBuilder sut
)
{
sut.DoSomething();
// More code
}
Sorun olduğum PropertyData
kullanarak ve ikinci iki giriş parametresi sağlıyor. Ardından otomatik olarak fikstürümü bir parametre olarak oluşturmaya çalışmam, bir istisna oluşturuyor. Bu sorunu çözmek için seçenekler nelerdir
public class CustomPropertyDataAttribute : CompositeDataAttribute
{
public CustomPropertyDataAttribute(string validInput)
:base(new DataAttribute[]
{
new PropertyDataAttribute(validInput),
new AutoDataAttribute(new Fixture()
.Customize(new HtmlOutpuBuilderTestConvention())),
})
{
}
}
: Burada
CustomPropertyData nedir?
'CustomPropertyData' nasıl görünüyor? –
@NikosBaxevanis OP'yi güncelledim. Kodumu http://nikosbaxevanis.com/2012/07/27/composite-xunit-net-data-attributes/ adresine yazmayı denedim. – DavidS