Autofixture: рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрднреЛрдВ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдЬрдире░ 2018  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: AutoFixture/AutoFixture

    [TestFixture]
    public class TestAutoFixture4
    {
        [Test]
        [AutoMoqData]
        public void CreatingAnDummyObjectShouldNotThrow(IFixture fixture)
        {
            fixture.Invoking(x => x.Create<DummyObject>()).ShouldNotThrow();
        }

        [Test]
        [AutoMoqData]
        public void BuildingAnDummyObjectShouldNotThrow(IFixture fixture)
        {
            fixture.Invoking(x => x.Build<DummyObject>().Create()).ShouldNotThrow();
        }
    }

    public class DummyObject
    {
        public Guid Id { get; set; }
        public DummyObject CircularRef { get; set; }
    }

    public class AutoMoqDataAttribute : AutoDataAttribute
    {
        public AutoMoqDataAttribute()
            : base(new Fixture()
                 .Customize(
                    new DummyCustomization()
                ))
        { }
    }

    public class DummyCustomization : ICustomization
    {
        public void Customize(IFixture fixture)
        {
            fixture.Customize<DummyObject>(c =>
                c.Without(x => x.CircularRef)
            );
        }
    }

рдЕрднреА-рдЕрднреА AutoFixture рдХреЛ 3.50.6 рд╕реЗ 4.0.0 рддрдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб 3.50.6 рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг (рдлрд┐рдХреНрд╕реНрдЪрд░ред рдХреНрд░рд┐рдПрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) 4.0.0 (.NET 4.6.2, NUnit3.7.1, FluentAssertions 4.19.4) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИред

рдлрд┐рдХреНрд╕реНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд░реАрдХреНрд╖рдгред рдмрд┐рд▓реНрдб рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрдВрдЬреЗрдХреНрд╢рди рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрдн рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореБрдЭреЗ рдЪреИрдВрдЬ рдореЗрдВ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ рдпрд╛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж :)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдорд┐рдЯрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛрдиреЗ рд▓рдЧреЗрдВрдЧреЗ:

c# public class DummyCustomization : ICustomization { public void Customize(IFixture fixture) { // Don't populate the DummyObject.CircularRef property. fixture.Customizations.Add( new Omitter( new EqualRequestSpecification( typeof(DummyObject).GetProperty(nameof(DummyObject.CircularRef))))); } }

рдЗрд╕рд▓рд┐рдП, рд╣рд╛рдБ, рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ ЁЯШЙ рд╕рд╛рде рд╣реА рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдкрд░ рдФрд░ рдкреНрд░рд╢реНрди рд╣реИрдВред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ рджреЗрд╡-рдП-рдЪреАрдВрдЯреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдЦреИрд░, рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ #781 рдореЗрдВ рд▓рд╛рдЧреВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЬрдм рдПрдХ рдЕрдиреБрдХреВрд▓рди рдЕрдиреНрдп рдЕрдиреБрдХреВрд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рддрдм рднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рджреЛ рдЕрдиреБрд╡рд░реНрддреА рдЕрдиреБрдХреВрд▓рди рд╣реЛрдВ - рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм рдЖрдк Build<T>() API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ DummyObject рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЕрдиреБрдХреВрд▓рди рдмрдирд╛ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕рднреА рдЕрдиреБрдХреВрд▓рди ( Customize<DummyObject>() рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ) рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдк рдлрд┐рд░ рд╕реЗ рд╕рд░реНрдХреБрд▓рд░ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрд░рд░ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрд▓рдЧрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдмрд╣реБрдд рдЕрдЬреАрдм рдореБрджреНрджреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреАрдЖрд░ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдореБрджреНрджреЗ рджреЗрдЦреЗрдВ)ред рдЗрд╕рд▓рд┐рдП, рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИред


рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рджреЛ рддрд░реАрдХреЗ рджреЗрдЦрддрд╛ рд╣реВрдВред

рд╕рдорд╛рдзрд╛рди 1: рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП Omitter рдЬреЛрдбрд╝реЗрдВ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╢реНрди рдерд╛, рдЗрд╕рд▓рд┐рдП рдЖрдк рдпрд╣рд╛рдВ рд╕реБрдЭрд╛рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ

рд╕рдорд╛рдзрд╛рди 2: рдЗрд╕рдХреЗ рдмрдЬрд╛рдп Create<T>() API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЖрдкрдХреЗ рдирдореВрдиреЗ рдореЗрдВ Build<> API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдирдореВрдирд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реЛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдЙрд╕ рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ . рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рдЙрддреНрддрд░ рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдореЗрдВ рдорджрдж рдХреА рд╣реИ

@zvirja рдЖрдкрдХреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рд╕реЗ рдЪреАрдЬреЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдкрд░ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕реНрдЯреИрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ (рднрд▓реЗ рд╣реА рдирд┐рд░рд╛рд╢рд╛ рд╣реЛ), рдФрд░ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдХреБрдЫ рдкрд░реЗрд╢рд╛рдиреА рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдХреНрдпреЛрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ред

рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдЧреНрд░рд╛рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрдн рд╣реИрдВ; рдареЗрда (рд╡рд┐рд░реЛрдзреА-?) рдкреИрдЯрд░реНрди рдЬрд╣рд╛рдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдмрдЪреНрдЪреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЙрдирдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдореЙрдбрд▓ рдмрджрд▓рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдЕрднреА рдХреЗ рд▓рд┐рдПред

рддреЛ рдмрд╕ рдлрд┐рдХреНрд╕реНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ред рдХреНрд░рд┐рдПрдЯ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ OmitAllProperties рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ AF рдХреА рд╢рдХреНрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рддреИрдпрд╛рд░ рдХрд░рддрд╛ рдерд╛ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдВрднрд╛рд▓рддреЗ рдереЗ, рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ (рддрдм рджреЗрд╡реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрдн рдереЗ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рд╕рд╛рде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдмрд┐рдирд╛ рд╡рдЧреИрд░рд╣)ред рд▓реЗрдХрд┐рди рдпрд╣ рдмрджрд▓рд╛рд╡ рдЗрд╕ рд╕рдм рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдорд┐рдЯрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдорд┐рдЯрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЖрдЬрдорд╛рдКрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛрдиреЗ рд▓рдЧреЗрдВрдЧреЗ:

c# public class DummyCustomization : ICustomization { public void Customize(IFixture fixture) { // Don't populate the DummyObject.CircularRef property. fixture.Customizations.Add( new Omitter( new EqualRequestSpecification( typeof(DummyObject).GetProperty(nameof(DummyObject.CircularRef))))); } }

рдЗрд╕рд▓рд┐рдП, рд╣рд╛рдБ, рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ ЁЯШЙ рд╕рд╛рде рд╣реА рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдкрд░ рдФрд░ рдкреНрд░рд╢реНрди рд╣реИрдВред

рдпрд╣ рдПрдХрджрдо рд╕рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рддрдм рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)

@ рджреЗрд╡-рдП-рдЪреАрдВрдЯреА рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zvirja picture zvirja  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Eldar1205 picture Eldar1205  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tiesmaster picture tiesmaster  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

malylemire1 picture malylemire1  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gtbuchanan picture gtbuchanan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ