Nunit: рдЧрд╛рд░реНрдб рд╡рд░реНрдЧ рдХреЛ рдЪрд░рдгрдмрджреНрдз рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рд╕рд┐рддре░ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nunit/nunit

рд░реАрд╢реЗрд░реНрдкрд░ рдФрд░ (рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ) рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ ArgumentNullException рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рддрд░реНрдХ рдЬрд╛рдВрдЪ рдбрд╛рд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдРрд╕реА рдорд╛рдВрд╕рдкреЗрд╢реА рд╕реНрдореГрддрд┐ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЧрд▓рддреА рд╕реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рд╣реИред

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

рд╕рд╛рде рд╣реА, C# 7.0 рдХреЗ рд╕рд╛рде, рдереНрд░реЛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рдВрдЯреИрдХреНрд╕ _foo = foo ?? throw new ArgumentNullException(nameof(Foo)); ред

рдЧрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╕реАрдзреЗ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рдЕрдиреНрдп рдкрдХреНрд╖ рдпрд╛ рд╡рд┐рдкрдХреНрд╖ рдХреНрдпрд╛ рд╣реИрдВ?

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

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

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдкреНрд░рддрд┐ рдХрд╛рдлреА рдЙрджрд╛рд╕реАрди рд╣реВрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ

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

рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ Guard рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕рдорд░реНрдердХ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИред рд╕реА#-рдЬрд╛рдЧрд░реВрдХ рдЖрдИрдбреАрдИ рдореЗрдВ, рдпрд╣ рдЕрдм рдореЗрд░реЗ рдпрд╛ рдирдП рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдПрдХ рддрд░рдл рдпрд╛ рджреВрд╕рд░реА рддрд░рдл? рд╕рдВрдЧрддрд┐ рд╣рдордореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ) рд╣рдордореЗрдВ рд╕реЗ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХреНрдпрд╛ рд╣реИред

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

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдкреНрд░рддрд┐ рдХрд╛рдлреА рдЙрджрд╛рд╕реАрди рд╣реВрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдереЛрдХ рд╢реБрджреНрдз рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИред

рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж, рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ!

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