Есть ли способ заполнить экземпляр объекта с помощью AutoFixture? - PullRequest
0 голосов
/ 28 марта 2019

Вот пример того, что я пытаюсь сделать

var foo = CreateFoo(); // I don't have access to the internals of CreateFoo

fixture.Populate(foo); // foo should now have random property values

Очевидно, что Fixture.Populate метод не существует.Но как мне решить эту проблему?Спасибо!

1 Ответ

0 голосов
/ 10 апреля 2019

AutoFixture действительно не предоставляет API для заполнения доступных для записи свойств существующего объекта. Однако вы можете использовать следующий фрагмент кода для достижения желаемого поведения:

var fixture = new Fixture();
var objectToFill = new TypeWithProperties();

new AutoPropertiesCommand().Execute(objectToFill, new SpecimenContext(fixture));

Assert.NotNull(objectToFill.Value);

Если вам это нужно часто, вы можете создать метод расширения для IFixture в своем тестовом проекте.

...