0

I'm using AutoFixture with NUnit and when I use OmitAutoProperties the properties still are being automatically populated. here is how my customization looks like:

    public class ContractItemCustomization : ICustomization
    {
        public void Customize(IFixture fixture)
        {
            var orderReceivedContractItem = fixture.Build<ContractItem>()
                                    .OmitAutoProperties()
                                    .With(x => x.Status, new ContractStatus
                                    {
                                        ContractLifecycleStatus = ContractLifecycleStatus.ORDER_RECEIVED
                                    });

            fixture.Customizations.Add(orderReceivedContractItem);
        }
    }

Here is how I use my customization:

        [SetUp]
        public void Setup()
        {
            fixture = new Fixture().Customize(
                new CompositeCustomization(
                    new ContractItemCustomization()));


            contractItem = fixture.Create<ContractItem>();
        }

What am I missing?

DAG
  • 2,460
  • 5
  • 33
  • 61

1 Answers1

0

Ok, after looking deeper in the AutoFixture documentation I found out the solution:

Instead of:

fixture.Customizations.Add(orderReceivedContractItem);

I had to do this:

fixture.Register(() => orderReceivedContractItem.Create());

DAG
  • 2,460
  • 5
  • 33
  • 61