Autofixture: рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрдкрдиреА рд╕рд╛рдЗрди рдХреА рдХреЛ рдЧреБрдкреНрдд рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: AutoFixture/AutoFixture

рдкрд╣рд▓реЗ @ploeh рдиреЗ рд╕рднреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдирд┐рдВрдЧ рдХреА рдХреЛ рдЧреБрдкреНрдд рд░рдЦрд╛ рдерд╛ред рдореИрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

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

  1. xunit- рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред
  2. nunit- рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред
  3. рдПрдирдПрд╕рдмрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ - рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред
  4. Moq- рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред
  5. FakeItEasy - рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред
  6. FluentAssertions - рдХреБрдВрдЬреА рдЦреБрд▓реА рд╣реИ ред

рдореИрдВ AF рдХреБрдВрдЬреА рдХреЛ рдмрдВрдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдФрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдкрд╣рдЪрд╛рди рд╕рд╛рдмрд┐рдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рджрд┐рдиреЛрдВ рдореЗрдВ NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдкрд╣рдЪрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИред

рдпрджрд┐ рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓рд╛рдн рд╣реЛрдВрдЧреЗ:

  1. рд╕реАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде NuGet рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
  2. рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреА AutoFixture рдЕрд╕реЗрдВрдмрд▓рд┐рдпрд╛рдБ рдмрдирд╛рдирд╛ рдФрд░ рдпрд╣ рдЬрд╛рдБрдЪрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
1. You found some bug in AF. You download source code locally and fix it.
2. Now you have AF assemblies with fixed bug and you want to test whether it helped.

Here is where the issues start. If you assemblies are unsigned, you cannot simply put the modified assemblies to the local NuGet cache - project will not compile. Rather, you need to update all your projects to target to a new assembly - just for a simple test. The things become even worse when that is the core `AutoFixture` assembly, as other depending libraries (like `AutoFixture.xunit` or `AutoFixture.NSubstitute`) will need to be updated as well.

If we ship signing key issue will be solved.

  1. рдЖрдкрдХреЛ рдПрдХ рдФрд░ рд░рд╣рд╕реНрдп рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ :)

@ploeh рдХреЗ рд▓рд┐рдП , рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдЧреБрдкреНрдд рд░рдЦрдиреЗ рдХрд╛ рдирд╣реАрдВ рдерд╛ ред

рдирд┐рдЬреА рддреМрд░ рдкрд░, рдореИрдВ рдЪрд╛рдмреА рдЦреЛрд▓рдиреЗ рдФрд░ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рд╣рд╛рдереЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЛрдЯ рджреВрдВрдЧрд╛ред
рджреЛрд╕реНрддреЛрдВ ( @moodmosaic , @adamchester , @ecampidoglio , @klimisa) - рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

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

рдХреБрдВрдЬреА рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

:+1: рдЗрд╕реЗ рди рдЦреЛрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ред рдХреЗрд╕реЗ рдЦрдпрд╛рд▓? рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдХрд░рддрд╛ рд╣реИред

рдХреБрдВрдЬреА рдЦреЛрд▓реЗрдВ рдФрд░ nuget.org рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЧреБрдкреНрдд рд░рдЦреЗрдВред

рд╕реВрд░реНрдп рдкрд░, 2 рдЕрдкреНрд░реИрд▓ 2017 рдХреЛ 14:16 рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдмрддрд┐рд╢рдЪреЗрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдЗрд╕реЗ рди рдЦреЛрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рди рджреЗрдЦреЗрдВред рдХреЗрд╕реЗ рдЦрдпрд╛рд▓? рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдХрд░рддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/AutoFixture/AutoFixture/issues/746#issuecomment-291000103 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAwCvwwhRzzUb9d3jVblzyxrpqrWyUsJks5rr9fkgaJpZM4Mw2Pq
.

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рдХреЛрдИ рд░рд╛рдп рдирд╣реАрдВ рд╣реИред рдЙрд╕ рдкрд░ рддрдЯрд╕реНрде рдорддрджрд╛рдиред

@ecampidoglio рдФрд░ @adamchester рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд░рд╛рдп рдпрд╣рд╛рдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реАрдЖрдИ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╡реА 4 рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рдирд┐рд░реНрдорд╛рдг рд╣реЛ рдФрд░ рд░рд┐рд▓реАрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореБрдЭреЗ CI рдкрд░ рд╕рд╛рдЗрди рдХреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЦреЛрд▓рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд▓рд╛рдП рдЧрдП рджреВрд╕рд░реЗ рдмрд┐рдВрджреБ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ред
рд╕рд╛рде рд╣реА, рдЗрди рджрд┐рдиреЛрдВ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ NuGet рдЦрд╛рддреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ AutoFixture рдХреЗ рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ред

рддреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ, рд░реЗрдкреЛ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдВ рдЬрдорд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ

рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП

рдзрдиреНрдпрд╡рд╛рдж, рд╕рд╣рдордд :)

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

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

Ridermansb picture Ridermansb  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

TroyHouston picture TroyHouston  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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