Unerwartetes Verhalten bei der Autofixe beim Anpassen von BooleschenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Unerwartetes Verhalten bei der Autofixe beim Anpassen von Booleschen

Post by Anonymous »

Ich verstehe, dass Autofixure eine Strategie hat, wie Booleschen erstellt werden (beginnend mit dem booleschen Wert true ). Zumindest gibt es Nähte, um ein Muster zu geben: < /p>

Code: Select all

public class Foo
{
public bool SomeBoolean { get; set; }
}

[Fact]
public void Verify_Autofixture_Boolean_Strategy()
{
var fixture = new Fixture();

var model = fixture.Build().CreateMany();

model.Select(x => x.SomeBoolean)
.Should()
.BeEquivalentTo([true, false, true]);
}
Was ich nicht verstehe, ignoriert es die Anpassung, die ich für eine Instanz von ifixure ausdrücklich gemacht habe. .

Code: Select all

[Fact]
public void Autofixture_Should_Allow_Boolean_Customizations()
{
var fixture = new Fixture();

fixture.Customize(
composer =>
composer.With(x => x.SomeBoolean, false)
);

var model = fixture.Build().Create();
// Is true, why?
Assert.False(model.SomeBoolean);
}
Einfrieren eines Bools scheint für mich keine Option zu sein, da Sie, wenn Sie ein komplexeres Modell in Betracht ziehen (mit potenziell vielen Booleschen), wenn Sie sicherstellen möchten, dass alle bis auf eine von ihnen randomisiert sind und Sie steuern können, welcher einen expliziten Wert hat.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post