Nunit: рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рднреАрддрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдПрдБ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЕрдЧре░ 2014  ┬╖  76рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nunit/nunit

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

рд╣рдо рд╕реНрдерд┐рд░рддрд╛ рдпрд╛ рд╡рд┐рдзрд┐ рдкрд░ рд╕рдорд╛рдирддрд╛ рдХреЗ рд╕рдЯреАрдХ рд╕реНрддрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдореБрджреНрджрд╛ рдкрд╣рд▓реЗ #66 . рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛

done hardfix feature high

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

рдЬрдмрдХрд┐ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдпрд╣ рдХреЗрд╡рд▓ рд╕рд┐рддрдВрдмрд░ рддрдХ рдЖрдкрдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред :-)

рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рдХрд░ рдЙрддреНрддрд░ рджреЗрдВ рдХрд┐ рд╣рдо "рд╢реЗрдбреНрдпреВрд▓" рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ (рд╡рд░реНрд╖ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ) рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐ рддрд┐рдорд╛рд╣реА рдПрдХ рдмрд╛рд░ рд░рд┐рд▓реАрдЬ рд╣реЛ рд░рд╣реА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рдЬрд╛рдПрдВрдЧреЗ, рд╣рдо рдЧрддрд┐ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрддрдГ, рд╣рдо рдирд┐рд░рдВрддрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рд╕реНрд╡рдпрдВрд╕реЗрд╡реА рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдкреНрд░рддрд┐ рдорд╛рд╣ рдкреНрд░рдпрд╛рд╕ рдХреА рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рд╣рдо "рдХрд▓ рдХрд╛ рдореМрд╕рдо" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдирдпреВрдиреАрдЯ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрд╡рдпрдВрд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдлреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИред

рдПрдХ рд╕рдордЭреМрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдХреБрдЫ рдРрд╕реЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЬреЛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдореЗрдВ рд▓рдЧрднрдЧ 25% рд╕реЗ рдЕрдзрд┐рдХ рди рдЬреЛрдбрд╝реЗрдВред рдХрд┐рд╕реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореБрджреНрджреЗ рдХреЗрд╡рд▓ рдЙрд╕ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд░реВрдк рдореЗрдВ рдЬрдм рдХреЛрдИ рдЙрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдЖрдо рддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ 3.5 рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдХрд┐рд╕реА рдХреЛ рд╕реМрдВрдкреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХрднреА-рдХрднреА рдХрд░рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рдо рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬреЛ рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╕реНрддреБрддрдГ рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╕рдордп рдкрд░ рдЖ рдЬрд╛рдПрдЧреАред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред :-(

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдХреЛрдИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдЙрддреНрддрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЭреВрда рд╣реЛрдЧрд╛!

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

рдЕрдкрдбреЗрдЯ: рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛрдиреЛрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдереЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛ред рдореИрдВ рдЕрдкрдиреЗ рдЬрд╡рд╛рдм рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБред

рд╡реИрд╕реЗ рдпрд╣ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рд╣реИ рдФрд░ рдкреЛрд╕реНрдЯ-3.0 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред рдЕрдЧрд░ рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛, рддреЛ рд╣рдо рд╢рд╛рдпрдж рдХрд░ рд▓реЗрддреЗред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЖрдк mbunit рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рджреЗрдЦрддреЗ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдереЛрдбрд╝рд╛ рдердХрд╛рдК рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ рдмрд┐рдВрджреБ, рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдЫреВрдЯ рдЧрдпрд╛ рд╣реИ ...

  1. рдЖрдк рдЬреЛ рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
  2. рд╣рдордиреЗ рдПрдХ рдЯреАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
  3. рдЬрдм рдЗрд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╣рдорд╛рд░реЗ рдЖрдХрд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред
  4. NUnit рдЯреАрдо рдореЗрдВ рдХрдИ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  5. рд╡реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рд╕реЗ рднреА рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдореБрдЭреЗ рдЖрдкрдХреА "рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ" рдХреА рдмрд╛рдд рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд▓рдЧрддреА рд╣реИред рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗрд╡рд▓ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ рдЬрд╣рд╛рдВ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо mbunit рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╢рд░реНрддреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрдзрд╛рд░ рд╕реЗ рджреВрд░ рд╣реИрдВред

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

рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реИред NUnit рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдПрдордмреАрдпреВрдиреАрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧред рд╣рдо рдирд┐рдпрдд рд╕рдордп рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗ,
рд▓реЗрдХрд┐рди рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рд╕рдорд╛рди рдореБрджреНрджреЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рдЗрд╕реЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрдШрд░реНрд╖ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдкреНрд░реИрд▓ 19, 2015 2:45 рдкреВрд░реНрд╡рд╛рд╣реНрди рдкрд░, "рдЪрд╛рд░реНрд▓реАрдкреВрд▓" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдереЛрдбрд╝рд╛ рдердХрд╛рдК рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ рдмрд┐рдВрджреБ, рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди
рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЪреВрдХ рдЧрдП ...

1.

рдЖрдк рдЬреЛ рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
2.

рд╣рдордиреЗ рдПрдХ рдЯреАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
3.

рдЬрдм рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдореВрд▓реНрдпред
4.

NUnit рдЯреАрдо рдореЗрдВ рдХрдИ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╡рд┐рд╢реЗрд╖рддрд╛ред
5.

рд╡реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
рдЙрдирдХреЗ рд╕рд┐рд░ рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рд╕реЗ рднреА рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдореБрдЭреЗ рдЖрдкрдХреА "рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ" рдХреА рдмрд╛рдд рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд▓рдЧрддреА рд╣реИред рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ
рдХреЗрд╡рд▓ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ рдЬрд╣рд╛рдВ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЕрдЧрд░ рдЖрдк
рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реБрдП рдХрд┐ рд╣рдо mbunit рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╢рд░реНрддреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ
рдЖрдзрд╛рд░ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment -94244650ред

рдореЗрд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрддреБрд░ рдЯрд┐рдкреНрдкрдгреА!

рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рдорд╛рд░реА рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реИрдВ:

  1. рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрди
  2. рдмрд╣рд┐рд╖реНрдХрд░рдг рд╕рдореВрд╣
  3. рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдзрд┐ (рдПрдХ рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ) рдирд┐рд╖реНрдкрд╛рджрдиред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдХреНрд░рдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдкреЛрд╕реНрдЯ-3.0 рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реБрд╡рд┐рдзрд╛ рдмрд╛рдж рдореЗрдВ рдЖрддреА рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ 3.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдмрд▓реНрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 3.0 рдкрд╣рд▓реЗ рдХреЗ рд╕рдордп рдореЗрдВ рдЖрддрд╛ рд╣реИред

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

рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд░рди рд╡рд┐рдХрд▓реНрдк рд╣реИ рдпрд╛ рдПрдХ рд╕реНрдерд┐рд░рддрд╛-рджрд░-рд╕реНрдерд┐рд░рддрд╛ (рдЬрд┐рдореНрдореЗрджрд╛рд░) рд╡рд┐рдХрд▓реНрдк рдпрд╛ рджреЛрдиреЛрдВ рд╣реИред

рдирдорд╕реНрддреЗ!
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ NUnit рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕реА рдЪреАрдЬрд╝ рд╣реИ рдЬреЛ рдореБрдЭреЗ NUnit рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рднреА 3.4 рдХреЗ рд▓рд┐рдП рдирд┐рдпреЛрдЬрд┐рдд рд╣реИ?

@julianhaslinger NUnit 3.4 рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдЕрдЧрд▓рд╛ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░, 3.6, 3 рдФрд░ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдХрдо рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЬреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИред :-( рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рдорд╛рд░реЗ MyGet рдлрд╝реАрдб рд╕реЗ рдкрд╣рд▓реЗ рдХреА рдПрдХ рдмреВрдВрдж рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВрдЧреЗред

@julianhaslinger рдпрд╣ 3.4 рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рд╢рд╛рдпрдж рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЬрд▓реНрдж рд╣реА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХрд╛ рд╡реЛрдЯ рдорджрдж рдХрд░рддрд╛ рд╣реИ: +1:

рдПрдХ рддрд░рдл, рдЖрдк рдХрд┐рд╕ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рдВрддрд░ рд╡рд┐рдзрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдПрдХреНрд╕рдпреВрдиреАрдЯ рдиреЗ рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛ рд╕реНрддрд░ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдЧрд▓рдд рд╣реВрдБ? рдореИрдВ XUnit рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛: рдореБрд╕реНрдХрд╛рди:

@CharliePoole рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдареАрдХ рд╣реИ, рдпрд╣ рдереЛрдбрд╝рд╛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ (рдпрд╛ рдкрд╣рд▓реЗ рдХреА рдмреВрдВрджреЛрдВ) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдВрдЧрд╛ред рдХреГрдкрдпрд╛ (рдЕрднреА рднреА) рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг (3.6) рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

@rprouse рдореИрдВ рдЕрднреА рдЧреИрд▓рд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рд╣рдж рддрдХ рдорд░ рдЧрдИ рдФрд░ рдЕрдм рдореИрдВ рдПрдирдпреВрдиреАрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред

@julianhaslinger рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рджреМрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд┐рдХреНрд╕реНрдЪрд░ рдХреЗ рднреАрддрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдкрд░ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ? рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рдзрд╛рд░рдгрд╛ рдпрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдЬреБрдбрд╝рдирд╛рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝реЛрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рджреЗрддреА рд╣реИред рдпрджрд┐ рдпрд╣ рдЧрд▓рдд рд╣реИ, рддреЛ рдпрд╣ рдЕрдкрдиреА рд╕рд╛рдкреЗрдХреНрд╖рд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред

@CharliePoole рдмрд┐рд▓реНрдХреБрд▓, рд╣рдорд╛рд░реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЪрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд/рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ (рд╕реЗрд▓реЗрдирд┐рдпрдо/рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рд╕рдореЗрдд) рдХреЗ рд▓рд┐рдП рдПрдирдпреВрдиреАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧреЛрдВ рдореЗрдВ 200+ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдирдпреВрдиреАрдЯ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджрд░реНрдж рд╣реИред

рддреБрд▓рдирд╛ (рд╣рдорд╛рд░реЗ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдХреЗ рднреАрддрд░) рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд NUnit рд╕рдорд╛рдзрд╛рди рд▓рдЧрднрдЧ 1,5 рдШрдВрдЯреЛрдВ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдмрдХрд┐ рд╡рд░реНрддрдорд╛рди MBunit рд╕рдорд╛рдзрд╛рди 0,5 рдШрдВрдЯреЛрдВ (рдЙрд╕реА рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ) рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, @CharliePoole , рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЕрд╡рдЧрдд рд╣реВрдВ рдХрд┐ рд╣рдо рдмрдбрд╝реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЫреЛрдЯреЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдХрдордЬреЛрд░ рдХрд░ рджреЗрдЧрд╛ред

@julianhaslinger - рдмрд╕ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рд╕рдордп рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ CPU рдмрд╛рдзреНрдп рд╣реИ, рдФрд░ рд╕реНрдореГрддрд┐ рдмрд╛рдзреНрдп рдирд╣реАрдВ рд╣реИ?

рд╣рдордиреЗ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рдЬрдм рд╣рдордиреЗ рдкрд╣рд▓реА рдмрд╛рд░ NUnit 3 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ - рд░рди рдЯрд╛рдЗрдо рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг NUnit рдХреЗ рдХрд╛рд░рдг рдерд╛ - рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рддрдХ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд░рд╣рддреА рд╣реИред рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкреИрдЪ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ - рдореИрдВ 3.4 рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп рд╕рдордп рд╣реЛрдЧрд╛ред :-(

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕реНрдореГрддрд┐ рдХреЗ рдЙрдЪрд┐рдд рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред :-)

@ChrisMaddock рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :+1: рд╣рдо рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред

@ChrisMaddock рдореБрдЭреЗ 3.4 рдореЗрдВ рдЖрдкрдХреА рдореЗрдореЛрд░реА рдлрд┐рдХреНрд╕ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рдкреАрдЖрд░ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рд╕рд╛рдл рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдЕрднреА рддрдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ: +1:

@rprouse - рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ https://github.com/nunit/nunit/pull/1367/commits/5f98ae51025f7af8244abd4367d1f47260874dfc рдкреАрдЖрд░ #1367 рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ v3.0.1 рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИред

рдЖрдк рдкреАрдЖрд░ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡рд┐рд▓рдп рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ OneTimeTearDown рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдореБрдЭреЗ рдЕрднреА рддрдХ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрд╕ рдХрджрдо рдХреЗ рдХрд╛рд░рдг рдпрд╣ v3.2.1 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдкреНрд░рддрд┐рдзрд╛рд░рдг - рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдкреБрди: рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛред

рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХрд╛ рдкреБрди: рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХрд▓ рдЗрд╕реЗ рдлреЗрдВрдХ рджреЗрдВрдЧреЗ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рднреА рдореВрд▓ рд░рд┐рд▓реАрдЬ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред :-)

@ChrisMadock рдореИрдВрдиреЗ рд░рд┐рдЧреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рджреМрд░рд╛рди рдореЗрдореЛрд░реА рдЦрдкрдд рдкрд░ рдПрдХ рдирдЬрд╝рд░

@julianhaslinger рдиреЗ рдЬреЛ рдХрд╣рд╛, рдЙрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде NUnit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреА рд╣реИред рдореБрдЭреЗ рдПрдХ рдХрд╕реНрдЯрдо рд░реИрдкрд░ рд▓рд┐рдЦрдирд╛ рдерд╛ рдЬреЛ рдПрдХ рдПрдХрд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЦрд┐рд▓рд╛рдл nunit-console.exe рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдкрд╛рд╕ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рд╕реНрдХреНрд░реИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХреВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ .xml рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп рдХрдИ .xml рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓реЗрдВ (рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рд▓рд┐рдП рдПрдХ) рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдореИрдВ _OneTimeSetUp_ рдФрд░ рдЯрд┐рдпрд░рдбрд╛рдЙрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдмрд╛рд╣рд░реА рд╕реЗрдорд╛рдлреЛрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп (рд╡рд░реНрд╖реЛрдВ) рдХреЗ рд▓рд┐рдП рдПрдирдпреВрдиреАрдЯ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╡рд╛рджреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ 3.0 рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рдерд╛ (рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдФрд░ рдореБрджреНрджреЛрдВ рдореЗрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЦреБрджрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдФрд░ рдиреЛрдЯреНрд╕ рдЬрд╛рд░реА рдХрд░рдирд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдерд╛)ред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдЬрд╛рдВрдЪ рдХреА рдХрд┐ рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдирдпреВрдиреАрдЯ рдХрд╛ рдбрд┐рдЬрд╛рдЗрди рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐ рд╕реНрддрд░ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдЧреИрд░-рдереНрд░реЗрдбрд╕реЗрдл рдХреЛрдб рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрд╛рдиреА рдЗрд╕реЗ рдПрдирдпреВрдиреАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпрд╛рдВ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдХреЛ рдереНрд░реЗрдбрд╕реЗрдл рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИрдВ рдпрд╛ рдПрдирдпреВрдиреАрдЯ рд╕реНрд╡рдпрдВ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдЬрдмрдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЕрднреА рднреА рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕реЗрдЯрдЕрдк рдФрд░ рдЯрд┐рдпрд░рдбрд╛рдЙрди рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдФрд░ рдЪреВрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЦреБрдж рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдХреЛ рд╕рд╣реА рдирд╣реАрдВ рдард╣рд░рд╛ рд╕рдХрддрд╛ (рдЬреЛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдЬрд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрдм рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitHub рдкрд░ рдЯреАрдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛)ред рд╡реИрд╕реЗ рднреА ... рдЬреБрдЖ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ ... рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реА # рдХреЛрдб рдХреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╢рд╛рдпрдж рд╡рд┐рдзрд┐-рд╕реНрддрд░ рд╕рдорд╛рдВрддрд░рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдпрд╣ рдЬрд╛рди рд▓реЗрдВ рдХрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо-рдЖрдзрд╛рд░рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдирдпреВрдиреАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж! :рдореБрд╕реНрдХреБрд░рд╛рдУ:

рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдЕрдкрдиреЗ рдЖрдк рдкрд░ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди рджреВрдБрдЧрд╛ ...

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

рдЕрдкрдиреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ ... рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛? NUnit рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛрдЧреАред рдмреЗрд╢рдХ рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ - рд╣рдордиреЗ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрднреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕рдХреА рдореИрдВ рдЧрд╛рд░рдВрдЯреА рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рддрд░реАрдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, рддреЛ NUnit рдХреЛрдИ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ ред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдЧреИрд░ рддреБрдЪреНрдЫ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ . рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ
рдПрдХ рдлрд┐рдХреНрд╕реНрдЪрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЖрджреЗрд╢ рджреЗрдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдирд╛
рд╡рд┐рдзрд╛рдирд╕рднрд╛

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

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ 10 рдкрд░реАрдХреНрд╖рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
рдЕрдиреНрдп резрежреж рдкрд░реАрдХреНрд╖рдг, рд▓реЗрдХрд┐рди резреж рдХреЗ рд╕рд╛рде рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ резреж рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ
рдкреНрд░рддреНрдпреЗрдХ рдЬрдмрдХрд┐ 100 рдХреЗ рд╕рд╛рде рдмреИрдардХ рдореЗрдВ 1 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ
110 рд╕рдорд╛рдирд╛рдВрддрд░ рдзрд╛рдЧреЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдПрдХ рдорд╢реАрди рд╣реИ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ
рд╣рдорд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛) рддреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ
резреж рдорд┐рдирдЯ рдореЗрдВ, резрежреж рдорд┐рдирдЯ рдореЗрдВ рдирд╣реАрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ ... рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЪреАрдЬреЗрдВ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ,
рд▓реЗрдХрд┐рди рд╕рдордЧреНрд░ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рд╕реНрддрд░ рд╕рдорд╛рдВрддрд░рддрд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рд╣реИ
рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЧрд╛рдпрдм рджреЗрдЦрд╛ рдЧрдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░реВрдмреА рдореЗрдВ prspec) рдФрд░ рдХрдм
рдЗрд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ i
рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдмрджрд▓рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВ:
https://github.com/bicarbon8/rspec-parallel/wiki/Examples
1 рдЬреБрд▓рд╛рдИ 2016 00:45 рдХреЛ, "рдЪрд╛рд░реНрд▓реАрдкреВрд▓" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдЕрдкрдиреЗ рдЖрдк рдкрд░ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди рджреВрдБрдЧрд╛ ...

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

рдЕрдкрдиреЗ рдХрд╛рдордХрд╛рдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ ... рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛?
рдЕрд╕реЗрдВрдмрд▓реА? NUnit рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛрдЧреА
рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдмреЗрд╢рдХ рдпрд╣ рдПрдХреНрд╕реЗрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдлрд╛рдЗрд▓реЛрдВ рдЬреИрд╕реА рдЪреАрдЬреЗрдВред

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

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment -229819324, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe/ACNsyoczCUV9L7kbF2SHB7lLsyBKlrv9ks5qRFUJgaJpZM4CUZ8r
.

рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж... рд╡рд┐рднрд┐рдиреНрди рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╕рд╣рд╛рдпрдХ рд╣реЛрддрд╛ рд╣реИред

рдореЗрд░реЗ 5 рд╕реЗрдВрдЯред

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

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

рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ... рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд▓реЗрдХрд┐рди рдкреВрд░рдХ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХрд┐ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВ!

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

@CharliePoole рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЖрджреЗрд╢ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рд▓реЛрдЧ рдЕрднреА рднреА рд╕рд┐рдВрдЧрд▓ рдереНрд░реЗрдбреЗрдб рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдЕрднреА рднреА [рд╕рдорд╛рдирд╛рдВрддрд░ (рд╕рдорд╛рдВрддрд░рд╕реНрдХреЛрдкред рдХреЛрдИ рдирд╣реАрдВ)] рдФрд░/рдпрд╛ рдСрд░реНрдбрд░ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

@pablomxnl рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдорддред рдПрдХ рдХреЛрдЪ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реАрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдЙрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдмрд╣реБрдд рдХрдард┐рди рддрд░реАрдХреЗ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЯреЛрдкреА рдирд╣реАрдВ рдкрд╣рдиреА рд╣реИред рдореИрдВ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рджрд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдЪреАрдЬреЗрдВ рдорд╛рдВрдЧрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрдВрднреАрд░ рд╕рд╛рдорд╛рди рдорд╛рдВрдЧрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рд╕рд┐рд░реНрдл рдирд╛ рдХрд╣рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рдРрд╕реА рдЪреАрдЬреЗрдВ рдорд╛рдВрдЧрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрдЪрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдирд╣реАрдВ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ - рддреЛ рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред

рд╡реЗрдм рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЕрдиреБрдХреНрд░рдордг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪрд╛рд╣реЗ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХреА рдмрд╛рдд рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╢рд╛рдпрдж [рд╕реНрдЯреЗрдк] рдирд╛рдордХ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП рдЬреЛ [рд╕реНрдЯреЗрдкрдлрд┐рдХреНрдЪрд░] рдХрдХреНрд╖рд╛, рдпрд╛ рдХреБрдЫ рд╕рдорд╛рди рдирд╛рдореЛрдВ рдХреЗ рдЕрдВрджрд░ рдмреИрдарддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рджреВрд░ рд╣реЛ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдСрд░реНрдбрд░рд┐рдВрдЧ/рдЕрдиреБрдХреНрд░рдордг рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рдХреЗ рдорд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛред :-)

рд╡реИрд╕реЗ рднреА, рдпрд╣ рдЬрд╛рдирдирд╛ рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред

@CharliePoole , рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рдкреВрдЫрдХрд░ рдЧрд▓рдд рди

рдЬрдмрдХрд┐ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдпрд╣ рдХреЗрд╡рд▓ рд╕рд┐рддрдВрдмрд░ рддрдХ рдЖрдкрдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред :-)

рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рдХрд░ рдЙрддреНрддрд░ рджреЗрдВ рдХрд┐ рд╣рдо "рд╢реЗрдбреНрдпреВрд▓" рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ (рд╡рд░реНрд╖ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ) рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐ рддрд┐рдорд╛рд╣реА рдПрдХ рдмрд╛рд░ рд░рд┐рд▓реАрдЬ рд╣реЛ рд░рд╣реА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рдЬрд╛рдПрдВрдЧреЗ, рд╣рдо рдЧрддрд┐ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрддрдГ, рд╣рдо рдирд┐рд░рдВрддрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рд╕реНрд╡рдпрдВрд╕реЗрд╡реА рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдкреНрд░рддрд┐ рдорд╛рд╣ рдкреНрд░рдпрд╛рд╕ рдХреА рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рд╣рдо "рдХрд▓ рдХрд╛ рдореМрд╕рдо" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдирдпреВрдиреАрдЯ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрд╡рдпрдВрд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдлреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИред

рдПрдХ рд╕рдордЭреМрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдХреБрдЫ рдРрд╕реЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЬреЛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдореЗрдВ рд▓рдЧрднрдЧ 25% рд╕реЗ рдЕрдзрд┐рдХ рди рдЬреЛрдбрд╝реЗрдВред рдХрд┐рд╕реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореБрджреНрджреЗ рдХреЗрд╡рд▓ рдЙрд╕ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд░реВрдк рдореЗрдВ рдЬрдм рдХреЛрдИ рдЙрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдЖрдо рддреМрд░ рдкрд░ рд╣рдорд╛рд░реЗ 3.5 рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдХрд┐рд╕реА рдХреЛ рд╕реМрдВрдкреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХрднреА-рдХрднреА рдХрд░рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рдо рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬреЛ рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╕реНрддреБрддрдГ рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╕рдордп рдкрд░ рдЖ рдЬрд╛рдПрдЧреАред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред :-(

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдХреЛрдИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдЙрддреНрддрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЭреВрда рд╣реЛрдЧрд╛!

@CharliePoole рдХреНрдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

@tomersss рд╣рдордиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ 3.5 рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬрд▓реНрдж рд╣реА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдЕрдкрдиреЗ рднрдВрдбрд╛рд░ рдФрд░ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╡реНрдпрд╕реНрдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд░рдбрд╛рд░ рдкрд░ рд╣реИред

@CharliePoole рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

@KPKA рд╣рдордиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИред рдЬрд╝реЗрдирд╣рдм рд╕реНрдерд╛рдкрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмреИрдХрд▓реЙрдЧ рд╕реЗ рдЯреВрдбреВ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдлрд┐рд░ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╝реЗрдирд╣рдм рдХреЗ рдЧреИрд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдмрддрд╛ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рдХрдм рдЙрдард╛рддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдХрд░ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд┐рд╕реЗ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред

@CharliePoole @rprouse

рдирдорд╕реНрддреЗ!

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣реЛрдЧреА рдпрд╛ рдпрджрд┐ рдпрд╣ рдЖрдЧрд╛рдореА рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдирд┐рдпреЛрдЬрд┐рдд рд╣реИ?

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

рдЬрд▓реНрдж рд╣реА рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреА рдЖрд╢рд╛ рдореЗрдВ

@GitSIPA рдЖрдк рдХрд┐рд╕ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ?

рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдиреЗ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдИрдЯреАрдП рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЖрдкрдХреЗ рд╡реЛрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рддрдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

+1, @GitSIPA рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ

@GitSIPA +1
@rprouse рд╣рдо mbunit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдврд╛рдВрдЪрд╛ рдЕрдм рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдордмреБрдирд┐рдЯ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВред

@rprouse рд╣рдо рдЗрд╕ рд╕рдордп рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ

рдореБрджреНрджреЗ #1921 рдкрд░ @jnm2 рдиреЗ рдкреВрдЫрд╛, "рд╣рдорд╛рд░реЗ рдмреАрдЪ рдХреНрдпрд╛ рдЦрдбрд╝рд╛ рд╣реИ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░рдпреБрдХреНрдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдореИрдВ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?"

рджреВрд╕рд░рд╛ рдкреНрд░рд╢реНрди рдкрд╣рд▓рд╛: рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ! рд╣рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдкрд╕рдВрдж рдЖрдПрдЧреАред

рдФрд░ рдкрд╣рд▓реЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП:

  1. рд╣рдо "WorkItems" рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ-рд╕реЗ-рдПрдХ рдореИрдк рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдХрдЖрдЗрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╡рдирдЯрд╛рдЗрдорд╕реЗрдЯрдЕрдк рдФрд░ рд╡рдирдЯрд╛рдЗрдордЯрд┐рдпрд░рдбрд╛рдЙрди рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдВрдХ #1096 рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

  2. рд╡рд░реНрдХрдЗрдЯрдо рдХреЛ рдЕрдиреНрдп рд╡рд░реНрдХрдЗрдЯрдореНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрдм рдЖрдЗрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╕рднреА рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдПрдВред рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рдЙрдкрдпреЛрдЧ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, OneTimeTearDown рдХреЛ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХреЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рд╣реЛрдВрдЧреЗ, рдЬрдм рд╣рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдЗрд╕реЗ рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдп рд╡рд╕реНрддреБрдУрдВ рдХреА рдХрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ NUnit рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рднреЗрдЬрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЕрдм рддрдХ рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ?
рд╕реАрдкреАрдпреВ рдХреЛ рд╕рдВрддреГрдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЯреЗрд╕реНрдЯрдХреЗрд╕рд╕реЛрд░реНрд╕ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдореЗрд░реА рдЬрд╝рд░реВрд░рдд рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реЗрдЯрдЕрдк, рдЯрд┐рдпрд░рдбрд╛рдЙрди рдпрд╛ рдСрд░реНрдбрд░рд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореИрдВ рдЯреЗрд╕реНрдЯрдХреЗрд╕рд╕реЛрд░реНрд╕ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╣реА рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЯреЗрд╕реНрдЯрдХреЗрд╕ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ, рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЧрдгрдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИрдВред рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдиреЗ рдПрдХ рд╣реА рдЯреЗрд╕реНрдЯрдХреЗрд╕ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдпрджрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛- рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд░реЗрд╕ рдХрдВрдбреАрд╢рди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ! рдореИрдВ

рдореИрдВ рдПрдХ рдХрд╣рд╛рдиреА рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рдиреА рд╣реИред :рдореБрд╕реНрдХреБрд░рд╛рдУ:

NUnit рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (рдЙрд░реНрдл рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рдзрд╛рд╡рдХ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреЗ TestCaseSource рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдирд╣реАрдВ, рдФрд░ рд╣рдо рдЗрд╕реЗ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВ - рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдорд╛рди рдХрдХреНрд╖рд╛ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

IOW, рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдЖрдкрдХреЗ рдЯреЗрд╕реНрдЯрдХреЗрд╕ рд╕реНрд░реЛрдд рдХрд╛ "рдЙрдкрдпреЛрдЧ" рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ NUnit рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╡реЗ рдмрдирд╛рдП рдЬрд╛рдиреЗ рддрдХ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╕рд╣реА рдмрд╛рдд?

рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрддрд╛ рд╣реИ, рд╕реНрд░реЛрдд рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд░реЛрдд рдореЗрдВ рдХреБрдЫ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрдорд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рд╕реНрд░реЛрдд рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рд╕реНрд░реЛрдд рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЖрдк рдЙрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреБрд╕реНрддрдХ рдЕрдзреНрдпрд╛рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред :рдореБрд╕реНрдХреБрд░рд╛рдУ:

рддреЛ, рдпрд╣ рдореБрджреНрджрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ __running__ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдПрдХ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рддрд╣рдд рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рдХреЛ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╕рд░рд▓, рдЧреИрд░-рдкреИрд░рд╛рдореАрдЯрд░рдпреБрдХреНрдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░рдпреБрдХреНрдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред

рдлрд┐рдХреНрд╕реНрдЪрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдпреЛрдЧ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдХреЛрдИ рд╡рдирдЯрд╛рдЗрдо рдЯреАрдпрд░рдбрд╛рдЙрди рдирд╣реАрдВ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рдирдЯрд╛рдЗрдорд╕реЗрдЯрдЕрдк рдареАрдХ рд╣реИ)ред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЙрд╕ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЬрд┐рддрдирд╛ рд╕реЛрдЪреЗрдВрдЧреЗ, рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ OneTimeTearDown рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ ActionAttributes рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@ jnm2 рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ?

@julianhaslinger рдирд╣реАрдВред рдпрд╣ рдореЗрд░реЗ рджреЛ рдФрд░ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдореБрджреНрджреЛрдВ, 1885 рдФрд░ 1933 рдХреЗ рдмрд╛рдж рдореЗрд░реА рд╕реВрдЪреА рдореЗрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдФрд░ рднреА рдмреЗрд╣рддрд░!

@julianhaslinger рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрдард┐рди рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рдЕрднреА рдХреИрд╕реЗ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ - рдмрд╛рдж рд╡рд╛рд▓рд╛ рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдореБрдЭреЗ рдбрд░ рд╣реИред рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА https://github.com/nunit/nunit/issues/164#issuecomment -265267804 рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреАрдЖрд░ рдореЗрдВ рдЯреВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдХреЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕реНрдкрд╖реНрдЯ YAGNI рдХреЗ рдЦрд┐рд▓рд╛рдл рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рдЬрди рдХрд░ рд╕рдХреЗрдВред

@CharliePoole @ jnm2 рд╣рд╛рдп рд▓реЛрдЧ!

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рд▓рд╛рдкрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдкреНрд░рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рдЙрддреНрддрд░реЛрдВ (рдЙрдкрд░реЛрдХреНрдд) рд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ (?) рдирд╣реАрдВ рд╣реБрдИ рд╣реИред

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

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

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

рдПрдХ рдмрд╛рд░ TestFixtureSetUp (рдЬрд┐рд╕реЗ рдЕрдм OneTimeSetUp рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рдЖрд░рдВрднреАрдХрд░рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рдФрд░ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рди рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдиреЛрдВ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп рдпрд╣ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдпрдВ рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд░рд╣реЗ рд╣реИрдВред

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

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

рдлрд┐рд░ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдореИрдВ рдЗрд╕реЗ рдкрд╣рд▓реА рддрд┐рдорд╛рд╣реА рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рд╕реАрдорд╛ рддрдХ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдордЭрджрд╛рд░ рдЯреВрдЯрдиреЗ рдХреЗ рд╕рд╛рде рдЖ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рди рдкрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рд╣рдо рдкреНрд░рддрд┐ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдирдИ рд╕реНрдерд┐рд░рддрд╛ рдмрдирд╛ рд░рд╣реЗ рдереЗ, рддреЛ рд╣рдо рдмрд╕ "рдПрдХ" рд╕рдордп рд╕реЗрдЯрдЕрдк рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВрдЧреЗред рдмреЗрд╢рдХ, рдпрд╣ рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрдбрд╝реА рдЯрдХреНрдХрд░ рджреЗрдЧрд╛ рдЬреЛ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддреЗ рд╣реИрдВ рддреЛ рдХреЛрдИ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдЧрд▓рддреА рд╣реИ рдпрджрд┐ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕рдорд╛рдВрддрд░рддрд╛ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдЖрдкрдХрд╛ рд╕рднреА рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдзреАрди рд╣реЛрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдпрд╛рдж рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдлрд┐рд░ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдореИрдВ рдЗрд╕реЗ рдкрд╣рд▓реА рддрд┐рдорд╛рд╣реА рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рд╕реАрдорд╛ рддрдХ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдордЭрджрд╛рд░ рдЯреВрдЯрдиреЗ рдХреЗ рд╕рд╛рде рдЖ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рди рдкрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЧрд┐рдиреЗрдВред

рдореИрдВ рднреА!

рд╢рдирд┐рд╡рд╛рд░, 14 рдЬрдирд╡рд░реА 2017 рдХреЛ рд╕реБрдмрд╣ 3:58 рдмрдЬреЗ, рдЬреЛрд╕реЗрдл рдореБрд╕рд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

>
>
>
>

[рдЫрд╡рд┐: рдмреЙрдХреНрд╕рдмреЗ] https://www.boxbe.com/overview

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдлрд╛рдИ: рдкрд┐рдЫрд▓реЗ 1 рдИрдореЗрд▓ рд░рдЦреЗрдВ ([email protected])

рдирд┐рдпрдо рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Dwa43L7bW5j4V5ymh5QXh%252FNXk%252F0KVSSFJSqwHw2yu4No%253D%26token%3DjkWoQ96YyOE%252FHA7PvZA8g%252FOAgpOQMZdIE7ophiWCxqx1y6zZCFJ%252FKSZ2WZELsWD3YQoDEdjwb%252BWo6wGi4xiUEkGngbggedv8iYBxU7zk% 252FJamyOuVtPzie4dhQJXQkQQ%252BtolspNKBzqBxtH6H%252FhqnTQ%253D%253D&tc_serial=28420100882&tc_rand=128339648&utm_source=stf&utm_medium_contenta рдФрд░

| рдирд┐рдпрдо рд╣рдЯрд╛рдПрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Dwa43L7bW5j4V5ymh5QXh%252FNXk%252F0KVSSFJSqwHw2yu4No%253D%26token%3DjkWoQ96YyOE%252FHA7PvZA8g%252FOAgpOQMZdIE7ophiWCxqx1y6zZCFJ%252FKSZ2WZELsWD3YQoDEdjwb%252BWo6wGi4xiUEkGngbggedv8iYBxU7zk% 252FJamyOuVtPzie4dhQJXQkQQ%252BtolspNKBzqBxtH6H%252FhqnTQ%253D%253D&tc_serial=28420100882&tc_rand=128339648&utm_source=stf&utm_num_campaign=AN001&utm_medium_contenta рдФрд░

| рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Dwa43L7bW5j4V5ymh5QXh%252FNXk%252F0KVSSFJSqwHw2yu4No%253D%26token%3DjkWoQ96YyOE%252FHA7PvZA8g%252FOAgpOQMZdIE7ophiWCxqx1y6zZCFJ%252FKSZ2WZELsWD3YQoDEdjwb%252BWo6wGi4xiUEkGngbggedv8iYBxU7zk% 252FJamyOuVtPzie4dhQJXQkQQ%252BtolspNKBzqBxtH6H%252FhqnTQ%253D%253D%26рдорд╣рддреНрд╡рдкреВрд░реНрдг%3Dtrue%26emlId%3D54854949581&tc_serial=2842010 рдФрд░ рдХреИрдВрдк_рдПрдирдУ

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рди рд╣реЛ рдпрджрд┐ рдЖрдк
рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ, рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рдЕрдЧрд░ рдХреБрдЫ рд╣реИ рддреЛ рдпрд╣ рдЖрдкрдХреА рдЧрд▓рддреА рд╣реИ
рд╕реНрдерд┐рд░ рдЕрд╡рд╕реНрдерд╛ рдФрд░ рд╕рдорд╛рдирддрд╛ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд░рд╛рдоред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдм рдХреЛрдб рд╣реЛрдЧрд╛
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдзреАрди рд░рд╣реЗрдВ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдпрд╛рдж рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдбреА

рдлрд┐рд░ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдореИрдВ рдЗрд╕реЗ рд▓реЗрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ
рдкрд╣рд▓реА рддрд┐рдорд╛рд╣реА рдХреЗ рд▓рд┐рдП, рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдкреНрд░рдпреЛрдЧ рдЪрд▓рд╛рдиреЗ рдХреА рд╣рдж рддрдХ
рдФрд░ рд╕рдВрднрд╡рдд: рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдордЭрджрд╛рд░ рдЯреВрдЯрдиреЗ рдХреЗ рд╕рд╛рде рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рджреВрд╕рд░реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рде рдХрд░реЛред

рдЙрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЧрд┐рдиреЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment-реиренреирекреореоремрелрел , рдпрд╛ рдореВрдХ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAHNVlwVps8pQ93UIwZw6zY7TOyHO0a6ks5rR61EgaJpZM4CUZ8r
.

рдХреБрдЫ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдХрд░, рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЦреЛрдЬ рдХреАред рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╣рдиреЗ рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИред рдпрд╣ рдЬреБрдбрд╝рдирд╛рд░ рдФрд░ рдЕрдиреНрдп рд╕реБрдЗрдЯреНрд╕ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдпрд╣рд╛рдБ рдмрд╛рдд рд╣реИ: рдпрджрд┐ рдХреЛрдИ рд╡рд┐рдзрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ __рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐__ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддреА рд╣реИред рдУрдЯреАрдУрдПрдЪ, рдЕрдЧрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рднреАрддрд░ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ рддреЛ рдпрд╣ рдЙрд╕реА рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ __ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред__

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рднреЗрдж рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рдВрднрд╛рд▓реЗрдВ:

  1. рдпрджрд┐ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЛрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЙрд╕реА рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреА рд╕реНрдерд┐рд░рддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдмрд╢рд░реНрддреЗ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЬреИрд╕реЗ рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ) рдЗрд╕реЗ рдХрд┐рд╕реА рднрд┐рдиреНрди рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рди рдХрд░реЗ

  2. рдпрджрд┐ рдЗрд╕рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд╕реВрдЯ рдмрдЪреНрдЪреЛрдВ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐ рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рддреА рд╣реИред

рд╡рд┐рдЪрд╛рд░ @ рдиреВрдирд┐рдЯ/рдХреЛрд░-рдЯреАрдо?

рдКрдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛:

  1. рдпрджрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рдХрддрд╛рд░ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

@CharliePoole - рдЖрдкрдХреЗ рддреАрди рдмрд┐рдВрджреБ рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рд╕рдорд╛рдВрддрд░рд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдХреЛрдИ рдирд╣реАрдВред рдЕрдЧрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд░рди рдХрд╛рдлреА рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░ рдХрддрд╛рд░ рдкрд░ рдХрддрд╛рд░рдмрджреНрдз рдХрд░ рджреЗрддрд╛ рд╣реИред

рдкреАрдЖрд░ #2011 рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрджрдо рдЙрдард╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ #define рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЙрдирдХреЗ рдпреБрдХреНрдд рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдзрд╛рдЧреЗ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдЙрд╕ рд╕реАрдорд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдЬреЛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рддреА рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдХ рдлрд╝рд┐рдХреНрд╕реНрдЪрд░ рдХрд╛ OneTimeTearDown рдЙрд╕ рдереНрд░реЗрдб рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рдХрд┐ рдХреМрди рд╕рд╛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдзрд╛рдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП STA рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╡рд╣реА OneTimeTearDown рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА OneTimeSetUp MTA рдореЗрдВ рдЪрд▓рд╛ рд╣реЛред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдХреБрдЫ рдореЗрдВ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

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

рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЬреЛ рд╢реБрд░реБрдЖрдд рд╕реЗ (2014 рдореЗрдВ рд╡рд╛рдкрд╕) рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдпрд╛ рдЕрд╕рдорд░реНрде рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдЙрдкрд▓рдмреНрдз рдПрдирдпреВрдиреАрдЯ 2.6.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдареЛрдХрд░ рдЦрд╛рдИ рд╣реИ рдХреЛрдбрдкреНрд▓реЗрдХреНрд╕ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ (рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рд╕рдорд╛рдирд╛рдВрддрд░ рдзрд╛рдЧреЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

http://cpntr.codeplex.com/

рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ @CharliePoole рдпрджрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рд╣рд╛рд▓ рдХреА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдСрд░реНрдереЛрдЧреЛрдирд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рдкрд┐рдЫрд▓реЗ рей рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ NUnit рей рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рджреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЬрд▓реНрджреА рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ) рджрд┐рди), рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░рддреЗ (рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рд╕рдорд╛рдзрд╛рди рдкрд░ рдмрдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

@ рдЪрд╛рд░реНрд▓реАрдкреВрд▓

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

рдХреНрдпрд╛ рд╣рдореЗрдВ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд▓рдВрдмрд┐рдд рдЯрд┐рдпрд░рдбрд╛рдЙрди рдЖрдЗрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдзрд┐рдХ рдареЛрд╕ рд░реВрдк рд╕реЗ, рдЬрд╣рд╛рдВ CompositeWorkItem рд╡рд░реНрддрдорд╛рди рдореЗрдВ PerformOneTimeTearDown рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рд╣рдо рдбрд┐рд╕реНрдкреИрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдп рдХреА рдПрдХ рдирдИ рдЗрдХрд╛рдИ рдХреЛ рд╕рд╣реА рдХрд╛рд░реНрдп рд╢рд┐рдлреНрдЯ рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдХреНрд░рд┐рд╕-рд╕реНрдорд┐рде-рдЬрд╝реЛрдХрдбреЛрдХ рд╣рд╛рдБ, рдареАрдХ рдпрд╣реА рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдп рдЖрдЗрдЯрдо рдмрдирд╛рдпрд╛, OneTimeTearDownWorkItem , рдЬреЛ CompositeWorkItem рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рд╣реИ рдФрд░ рдЕрдВрддрд┐рдо рдЪрд╛рдЗрд▓реНрдб рдЯреЗрд╕реНрдЯ рдЪрд▓рдиреЗ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдж рдореЗрдВ, рд╣рдо рдХреБрдЫ рджрдХреНрд╖рддрд╛рдУрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм OneTimeSetUp рдФрд░ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╣реА рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдП рдЧрдП рд╣реЛрдВред

рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдзреНрдпрд╛рди рд╕реЗ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдПрдХ рдмрд╛рдд рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╛рдВрддрд░рддрд╛ "рд╕реНрдорд╛рд░реНрдЯ" рд╣реЛ, рдЦрд╛рд╕рдХрд░ I/O рдмрд╛рдзреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ резреж рдереНрд░реЗрдбреНрд╕ резрежреж рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ резреж рдереНрд░реЗрдб рдмреИрдареЗрдВ рдФрд░ рдЕрдЧрд▓реЗ резреж рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓реЗ резреж рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрджрд┐ рдкрд╣рд▓реЗ 10 рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ I/O рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдереНрд░реЗрдб рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм I/O рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдереНрд░реЗрдбреНрд╕ рдереНрд░реЗрдб рдХреЗ рдЦрд╛рд▓реА рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдореИрдВ I/O рдмрд╛рдзреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рдереНрд░реВрдкреБрдЯ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдм рддрдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдирдВрдмрд░ рдПрдХ рдмрд╛рдзрд╛ рд╣реИред

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

@gzak рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рдпрд╣ рд╢реНрд░рдорд┐рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЦреАрдВрдЪ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИ, рддреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рдЪрд╛рд▓ рдЪрд▓ рд░рд╣реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдПрдирдпреВрдиреАрдЯ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп, рдЧрдгрдирд╛-рдмрд╛рдзреНрдп рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдорд╛рдВрддрд░рддрд╛ рдХрд╛ рдЙрдЪрд┐рдд рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЯреЗрд╕реНрдЯ рдХреНрд▓рд╛рд╕ рд╣реИ
рдЬрдм рдореИрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд╣реАрдВ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ - рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЙрдиреНрд╣реЗрдВ [рд╕рдорд╛рдирд╛рдВрддрд░ (рд╕рдорд╛рдирд╛рдВрддрд░рд╕реНрдХреЛрдкред рдмрдЪреНрдЪреЗ)] рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддрд╛ рд╣реВрдВред
рддреЛ рд╡реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ (рдПрдХ рд╣реА рдХрдХреНрд╖рд╛ рдореЗрдВ рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдВ)
рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдлрд╝реАрд▓реНрдб рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдзрд╛рдЧреЗ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХреНрдпрд╛ рдореИрдВ рд╕рд╣реА рд╣реВрдБ?
рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛ рдХреЗрд╡рд▓ 1 рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдПрдХрд▓ рд╡рд╕реНрддреБ рдкрд░ рдПрдХ рд╕рд╛рде рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ?
рдЪрд╛рд░реНрд▓реАрдкреВрд▓

рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рдордЭ рд▓рд┐рдпрд╛! рд╣рд╛рдВ, рдПрдХ рдлрд┐рдХреНрд╕реНрдЪрд░ рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдирдпреВрдиреАрдЯ рдХреЗ рд╕рд╛рде рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рд░рд╛рдЬреНрдп рдХреЛ рдкреНрд░рддрд┐ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреБрдбрд╝рдирд╛рд░ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдкрд╛рдд рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЬреБрдбрд╝рдирд╛рд░ рдЪрд▓рд╛рдирд╛ рдЖрдкрдХреЛ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдореЗрдВ [рд╕рдорд╛рдирд╛рдВрддрд░ (рд╕рдорд╛рдирд╛рдВрддрд░рд╕реНрдХреЛрдкред рдмрдЪреНрдЪреЗ)] рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ
рдЕрд╕реЗрдВрдмрд▓реАрдЗрдиреНрдлреЛ.рд╕реАрдПрд╕ рдлрд╝рд╛рдЗрд▓?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрд╛ рд╣реИ?

14 рдЬреВрди 2017 рдХреЛ 01:37 рдмрдЬреЗ, рдЪрд╛рд░реНрд▓реАрдкреВрд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

[рдЫрд╡рд┐: Boxbe] https://www.boxbe.com/overview рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдлрд╛рдИ: рд░рдЦреЗрдВ
рдкрд┐рдЫрд▓реЗ 1 рдИрдореЗрд▓ ([email protected]) рдирд┐рдпрдо рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DCCP9ir0TebdbdQOWVtGMQyr2TETYOrzfkbItPzUTgDk%253D%26token%3D0PvYtf1G2B%252FJ2FNN3b7MTSmP1zvs6x3Cu8z6LaAB8%252BJm73uy8ZNUCnQcknlgWKxRQ5zjE%252BY30Xkv1W1Gue9gGnpyi72YUTaHP2h6wvuEpTXe1WoQDoSHpUGDQefgQu6LDH0rRhsEvF%252FW%252BhysbMtsDw%253D% 253D&tc_serial=30872123699&tc_rand=2087335475&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдирд┐рдпрдо рд╣рдЯрд╛рдПрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DCCP9ir0TebdbdQOWVtGMQyr2TETYOrzfkbItPzUTgDk%253D%26token%3D0PvYtf1G2B%252FJ2FNN3b7MTSmP1zvs6x3Cu8z6LaAB8%252BJm73uy8ZNUCnQcknlgWKxRQ5zjE%252BY30Xkv1W1Gue9gGnpyi72YUTaHP2h6wvuEpTXe1WoQDoSHpUGDQefgQu6LDH0rRhsEvF%252FW%252BhysbMtsDw%253D% 253D&tc_serial=30872123699&tc_rand=2087335475&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DCCP9ir0TebdbdQOWVtGMQyr2TETYOrzfkbItPzUTgDk%253D%26token%3D0PvYtf1G2B%252FJ2FNN3b7MTSmP1zvs6x3Cu8z6LaAB8%252BJm73uy8ZNUCnQcknlgWKxRQ5zjE%252BY30Xkv1W1Gue9gGnpyi72YUTaHP2h6wvuEpTXe1WoQDoSHpUGDQefgQu6LDH0rRhsEvF%252FW%252BhysbMtsDw%253D% 253D%26рдорд╣рддреНрд╡рдкреВрд░реНрдг%3Dtrue%26emlId%3D61187554820&tc_serial=30872123699&tc_rand=2087335475&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001

рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рдордЭ рд▓рд┐рдпрд╛! рд╣рд╛рдВ, рдПрдХ рдлрд┐рдХреНрд╕реНрдЪрд░ рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдПрдирдпреВрдиреАрдЯ рдХреЗ рд╕рд╛рде рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП
рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рд░рд╛рдЬреНрдп рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░реЗрдВ
рдкреНрд░рддрд┐ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреБрдбрд╝рдирд╛рд░ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдкрд╛рдд рд╣реИ, рддреЛ рдмрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЬреБрдбрд╝рдирд╛рд░ рдЖрдкрдХреЛ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment-308157832 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAHNVuK-J-X74mlAA_eT7OX7dxs7MpoRks5sDqzLgaJpZM4CUZ8r
.

@aray рд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм

рд╣рд╛рдп рдЬреЛрд╕реЗрдл,

рдЖрдк рдЕрдкрдиреА рдЕрд╕реЗрдВрдмрд▓реАрдЗрдиреНрдлреЛ.рд╕реАрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреМрди рд╕реА рд╕рдорд╛рдирддрд╛ рд░реЗрдЦрд╛ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?

рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЪреАрдпрд░реНрд╕,

рдПрдВрдбреНрд░рдпреВ

рдмреБрдзрд╡рд╛рд░, 14 рдЬреВрди 2017 рдХреЛ рд╢рд╛рдо 4:17 рдмрдЬреЗ, рдЬреЛрд╕реЗрдл рдореБрд╕рд░ рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

[рдЫрд╡рд┐: Boxbe] https://www.boxbe.com/overview рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдлрд╛рдИ: рд░рдЦреЗрдВ
рдкрд┐рдЫрд▓реЗ 1 рдИрдореЗрд▓ ([email protected]) рдирд┐рдпрдо рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DnRGYOf%252FKR68McP8RTipuFTLF9WUvAkSKSh6OYJYvJ2w%253D%26token%3DDcwWzMT9yPtQLckdXD3BLhW5xAB%252BMpc9XdsrbBlwdQJZC%252Bjo3SjsyMVC8vese%252BCNRw2IyucWqEcHR5Is7CK7nx01VuSQESvjG4ZUj%252B2Cfcwg51yUFFQJSwrmTVxqAk4%252BTVGDSrnutdAuqiJ3kTaYQA% 253D%253D&tc_serial=30882364582&tc_rand=1974513896&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдирд┐рдпрдо рд╣рдЯрд╛рдПрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DnRGYOf%252FKR68McP8RTipuFTLF9WUvAkSKSh6OYJYvJ2w%253D%26token%3DDcwWzMT9yPtQLckdXD3BLhW5xAB%252BMpc9XdsrbBlwdQJZC%252Bjo3SjsyMVC8vese%252BCNRw2IyucWqEcHR5Is7CK7nx01VuSQESvjG4ZUj%252B2Cfcwg51yUFFQJSwrmTVxqAk4%252BTVGDSrnutdAuqiJ3kTaYQA% 253D%253D&tc_serial=30882364582&tc_rand=1974513896&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3DnRGYOf%252FKR68McP8RTipuFTLF9WUvAkSKSh6OYJYvJ2w%253D%26token%3DDcwWzMT9yPtQLckdXD3BLhW5xAB%252BMpc9XdsrbBlwdQJZC%252Bjo3SjsyMVC8vese%252BCNRw2IyucWqEcHR5Is7CK7nx01VuSQESvjG4ZUj%252B2Cfcwg51yUFFQJSwrmTVxqAk4%252BTVGDSrnutdAuqiJ3kTaYQA% 253D%253D%26рдорд╣рддреНрд╡рдкреВрд░реНрдг%3Dtrue%26emlId%3D612147070592&tc_serial=30882364582&tc_rand=1974513896&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content

@array https://github.com/array рд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рд╣реИ I
рдЕрдм рдПрдХ AssemblyInfo.cs рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment-308325726 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAHNVghNAX8CJkqAy-qhAz8bXNhZcFOQks5sD3NigaJpZM4CUZ8r
.

@agray рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдиреЗ рдкреВрдЫрд╛ рдерд╛:

c# [Parallelizable(ParallelScope.Children)]

рд▓рдХреНрд╖реНрдп рдордд рднреВрд▓рдирд╛

[assembly: Parallelizable(ParallelScope.Children)]

@LirazShay рдореИрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП NUnit рдХрд╛ рдЙрдкрдпреЛрдЧ

 public class TestFactory : IDisposable
    {
    // Instantiate a new SafeHandle instance.
    private readonly System.Runtime.InteropServices.SafeHandle handle = new Microsoft.Win32.SafeHandles.SafeFileHandle(IntPtr.Zero, true);

    // Flag: Has Disposed been called?
    private bool disposed = false;

    public TestFactory()
    {
        this.UserRepository = new List<UserAccount>();
        this.DU = new DataUtility();
    }

    // A list of users created for this test
    public List<UserAccount> UserRepository { get; private set; }

    // A very simple data layer utility that uses Dapper to interact with the database in my application 
    public DataUtility DU { get; private set; }

    // Gets a new user and adds it to the repository
    public UserAccount GetNewUser()
    {
        var ua = new UserAccount();
        this.UserRepository.Add(ua);
        return ua;
    }


    public void Dispose()
    {
        this.Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (this.disposed)
        {
            return;
        }

        if (disposing)
        {
            // Deletes all user accounts created during the test
            foreach (UserAccount ua in this.UserRepository)
            {
                try
                {
                    ua.Delete();
                }
                catch (Exception)
                {
                    // Take no action if delete fails.
                }
            }

            this.DU.DeleteNullLoginFailures(); // Cleans up the database after tests
            Thread.Sleep(1500);
        }

        this.disposed = true;
    }
}

рдлрд┐рд░, рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рднреАрддрд░ рдореИрдВ рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

[TestFixture]
public class UserConfigureTests
{
    [Test]
    public void MyExampleTest()
    {
        using (TestFactory tf = new TestFactory())
        {
            var testUser = tf.GetNewUser();

    tf.DU.DoSomethingInTheDatabase(myParameter);

    // Test actions go here, and when we exit this using block the TestFactory cleans
    // up after itself using the Dispose method which calls whatever cleanup logic you've written into it
        }
    }
}

рдЗрд╕ рддрд░рд╣, рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдЧрд░ рдореБрдЭреЗ рдХрднреА рднреА рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓реА рдЧрдИ рд░рдгрдиреАрддрд┐ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ!

@tparikka рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╣ рд╕реНрд╡рдпрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реА рдЕрд╕реЗрдВрдмрд▓реАрдЗрдиреНрдлреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рд╣реИ:

[рд╡рд┐рдзрд╛рдирд╕рднрд╛: рд╕рдорд╛рдирд╛рдВрддрд░ (рд╕рдорд╛рдирд╛рдВрддрд░рд╕реНрдХреЛрдкред рдмрдЪреНрдЪреЗ)]
[рд╡рд┐рдзрд╛рдирд╕рднрд╛: LevelOfParallelism(16)]

рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдм LevelOfParallelism рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

резрел рдЬреВрди реирежрезрен рдХреЛ режрек:рейрен рдмрдЬреЗ, рдЬреЛрд╕рдл рдореБрд╕рд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

[рдЫрд╡рд┐: Boxbe] https://www.boxbe.com/overview рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдлрд╛рдИ: рд░рдЦреЗрдВ
рдкрд┐рдЫрд▓реЗ 1 рдИрдореЗрд▓ ([email protected]) рдирд┐рдпрдо рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Doth%252FFbAPG%252FhDbtUlS0i2PDDdQ0lP4dBi8o7QQmkLEMQ%253D%26token%3DHe7HfTrm%252Fiba3yIDazaBx8JO9NrmoL8p5TWtDB1hUxq0qp%252BhCRCB3OSl7sUQ6wDshc2I5LQhbR2jszLWr6FnRy%252FZUrCqghZIIilbDWKszT7pkI44xp9vaL6cszH9Sgg1YPCAHdVWqccZYxYXGW174A%253D% 253D&tc_serial=30894750852&tc_rand=1847060911&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдирд┐рдпрдо рд╣рдЯрд╛рдПрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Doth%252FFbAPG%252FhDbtUlS0i2PDDdQ0lP4dBi8o7QQmkLEMQ%253D%26token%3DHe7HfTrm%252Fiba3yIDazaBx8JO9NrmoL8p5TWtDB1hUxq0qp%252BhCRCB3OSl7sUQ6wDshc2I5LQhbR2jszLWr6FnRy%252FZUrCqghZIIilbDWKszT7pkI44xp9vaL6cszH9Sgg1YPCAHdVWqccZYxYXGW174A%253D% 253D&tc_serial=30894750852&tc_rand=1847060911&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001
| рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
https://www.boxbe.com/popup?url=https%3A%2F%2Fwww.boxbe.com%2Fcleanup%3Fkey%3Doth%252FFbAPG%252FhDbtUlS0i2PDDdQ0lP4dBi8o7QQmkLEMQ%253D%26token%3DHe7HfTrm%252Fiba3yIDazaBx8JO9NrmoL8p5TWtDB1hUxq0qp%252BhCRCB3OSl7sUQ6wDshc2I5LQhbR2jszLWr6FnRy%252FZUrCqghZIIilbDWKszT7pkI44xp9vaL6cszH9Sgg1YPCAHdVWqccZYxYXGW174A%253D% 253D%26рдорд╣рддреНрд╡рдкреВрд░реНрдг%3Dtrue%26emlId%3D61245244440&tc_serial=30894750852&tc_rand=1847060911&utm_source=stf&utm_medium=email&utm_campaign=ANNO_CLEANUP_EDIT&utm_content=001

@tparikka https://github.com/tparikka рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐
рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣реБрдБрдЪреЛред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/nunit/nunit/issues/164#issuecomment-308521058 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAHNVmEzVDbw32Xx0jkYcGK9bZW3tLvXks5sECh8gaJpZM4CUZ8r
.

рдореИрдВрдиреЗ рдЕрднреА рддрдХ LevelOfParallelism рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕реАрдкреАрдпреВ-рдмрд╛рдзреНрдп рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЙрдЪреНрдЪрддрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдкреВрд░реНрдг рдХреЗ рд╕рд╛рде- рдЙрддреНрддрд░ рдЖрдкрдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рдЗрддрдирд╛ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдорд╛рдкрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

@CharliePoole рдореИрдВ TestcaseSource рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рдЯреЗрд╕реНрдЯрдХреЗрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ:

```рд╕реА#
[рдЯреЗрд╕реНрдЯрдлрд┐рдХреНрдЪрд░]
рд╡рд░реНрдЧ рдЕрдХреНрд░рдорд╛рдВрдХрди
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ IEnumerableshouldDeserializeAllCases() => Enumerable.Repeat(0, 5).Select(x => TimeSpan.FromSeconds(2));

    [TestCaseSource("ShouldDeserializeAllCases"), Parallelizable(ParallelScope.Children)]
    public void ShouldDeserializeAll(TimeSpan t)
    {
        Thread.Sleep(t);
        Assert.AreEqual(1, 1);
    }
}

```

рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХреБрд▓ рд╕рдордп ~ 2 рдХреЗ рдмрдЬрд╛рдп 10 рд╕реЗрдХрдВрдб рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдмрдЪреНрдЪреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
[рд╕рдорд╛рдирд╛рдВрддрд░ (рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдХреЛрдкред рд╕рднреА)]
рдпрд╛ рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдХрдХреНрд╖рд╛ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдПрдБред

@ParanoikCZE рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдВрдзрд╛ рдЙрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ рд╕рднреА рдПрдирдо рдореВрд▓реНрдпреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдЪрд╛рд╣реЗ рдореИрдВ All , Children , Fixture рдпрд╛ Self рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВ, рдореБрдЭреЗ 10 рд╕реЗрдХрдВрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ)ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреЛрд╢рд┐рд╢ рдХрд░реЛ рдпрд╣ рдкреНрд░реЗрд░рдгрд╛ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИ :)

class Deserialization
{
    public static IEnumerable<TestCaseData> ShouldDeserializeAllCases
    {
        get
        {
            for (int i = 1; i <= 5; i++)
                yield return new TestCaseData(TimeSpan.FromSeconds(i)).SetName($"Thread_worker_{i}");
        }
    }

    [TestCaseSource(nameof(ShouldDeserializeAllCases)), Parallelizable(ParallelScope.Children)]
    public void ShouldDeserializeAll(TimeSpan t) => System.Threading.Thread.Sleep(t);
}

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

рдЕрд╕реЗрдВрдмрд▓реАрдЗрдиреНрдлреЛ рдореЗрдВ [рдЕрд╕реЗрдВрдмрд▓реА: LevelOfParallelism(5)] рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡реИрд╕реЗ рднреА, рдореИрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реВрдБред :)

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

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

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

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

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

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

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