Wie zu verwenden AutoFixture zu bauen, mit individuellen Eigenschaften, während Typ-Anpassungen?

Ich versuche, mit autofixture um ein Objekt zu erstellen, aber es gibt bestimmte Eigenschaften, die ich möchte immer vorgegeben werden (während der rest könnte sein automatisch generierter). Allerdings, wenn ich setup eine Anpassung wird es überschrieben, wenn ich das bauen mit Anpassungen.

void Main()
{
    var fixture = new Fixture();
    fixture.Customize<Person>(composer => composer.With(p => p.Name, "Ben"));

    var person = fixture.Build<Person>()
        .With(p => p.DateOfBirth, new DateTime(1900, 1, 1))
        .Create();

    /*  RESULT OF person below
    Name    null
    DateOfBirth 1/1/1900
    StreetAddress   StreetAddressafd6b86b-376a-4355-9a9c-fbae34731453
    State   State019e867b-ac5e-418f-805b-a64146bc06bc
    */
}

public class Person
{
    public string Name { get; set;}

    public DateTime DateOfBirth { get; set;}

    public string StreetAddress { get; set;}

    public string State { get; set;}
}

Den Name und DateOfBirth Eigenschaft Anpassungen nicht in Konflikt, so weiß ich nicht, warum der Name endet als null. Ich würde erwarten, dass Namen Ben.

Wie ich es bekommen kann, so dass beide Anpassungen angewendet werden (dh. Name = "Ben" und DateOfBirth = 1/1/1900)?

InformationsquelleAutor Ben Anderson | 2016-07-31
Schreibe einen Kommentar