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

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

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

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

рдЕрдЧрд▓рд╛ рдЦрдВрдб рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдХрд╛рд░ рдбреАрд▓рд░рд╢рд┐рдк рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ (рд╡реЗ рдбреАрд▓рд░реЛрдВ, рд╕рд░рдХрд╛рд░реА рд╕реЗрд╡рд╛рдУрдВ, рд╕реЗрд╡рд╛ рд╕реНрдЯреЗрд╢рдиреЛрдВ, рдмреАрдорд╛ рдХрдВрдкрдирд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рднрд╛рдЧреАрджрд╛рд░реЛрдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ) рдкрд░ рдмрд╣реБрдд рдирд┐рд░реНрднрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдЕрдХреНрд╖рдорддрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЖрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╣рдореЗрдВ рдХрд╛рдордХрд╛рдЬреА рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдЙрдирдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рджреЛрдиреЛрдВ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓ рддрдХ рддрдХ, рд╣рдордиреЗ рджреЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЙрдирдХреЗ рд░рд╛рдЬреНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдереЗред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдордиреЗ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЗрди рд╕реНрд░реЛрддреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд╕реНрдерд┐рд░ рдкрд░реАрдХреНрд╖рдг рдереЗ рдЬреЛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдЧрд┐рд░ рдЧрдП рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ, рдЬреЛ рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рдереЗред
рдореБрдЭреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдореЙрдХ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдСрдЯреЛрдЯреЗрдХ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ - рд░реЗрдбреА-рдореЗрдб
рдореЙрдХрд╕реНрд╡рд░ , рдЬрд╛рд╡рд╛ рдореЗрдВ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд╛рд╕ред
рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд:
- рдЙрдореНрдореАрджреЗрдВ рдмрдирд╛рдирд╛
- рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░реЗрдВ,
- рдпрджрд┐ рдПрдХ рдореИрдЪ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬреЗрдВред
рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
new MockServerClient("localhost", 1080) .when( request() .withMethod("POST") .withPath("/login") .withBody("{username: 'foo', password: 'bar'}") ) .respond( response() .withStatusCode(302) .withCookie( "sessionId", "2By8LOhBmaW5nZXJwcmludCIlMDAzMW" ) .withHeader( "Location", "https://www.mock-server.com" ) );
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЙрд╕ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рднреЗрдЬреЗрдВрдЧреЗ рдФрд░ рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред MockServer рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдмрдирд╛рдП рдЧрдП рдереЗ, рдФрд░ рдпрджрд┐ рдореИрдЪ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ 404 рдорд┐рд▓рддреЗ рд╣реИрдВред
MockServer рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВред RegExp рдкрд░ рдореЗрд▓ рдХреЗ рдЕрдиреБрд░реЛрдз, рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдЪрд┐рдкреНрд╕ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рдЙрдореНрдореАрджрд╡рд╛рд░ рдерд╛ред рд▓реЙрдиреНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рд╕реЗ рдмрд┐рдВрджреБ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рдХреНрд╖рдг, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдмрд╣реБрдд рдореЗрдореЛрд░реА рд▓реАрдХ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо 5.2.3 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рдПрдХ рдФрд░ рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдореЙрдХрд╕реЗрд╡рд░ рдХреЗ рдкрд╛рд╕ рдмреЙрдХреНрд╕ рд╕реЗ SOAP рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИред
рдлрд┐рд▓рд╣рд╛рд▓, MockServer рд╣рдорд╛рд░реЗ рд╕рд╛рде рд▓рдЧрднрдЧ рддреАрди рдорд╣реАрдиреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдирддреАрдЬрддрди, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛, рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рдФрд░ рджреЗрд╡-рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрд╡рд╕рд░ рд╣реИрдВред
рдЙрдкрд╕рдВрд╣рд╛рд░
рдпреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдореБрдЦреНрдп рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдЯрд▓рд┐рди + рдЬреНрдпреВрдиреАрдЯ + рд░реЗрд╕реНрдЯрдЕрд╕реЗрдЪрд░реНрдб, рдкреЛрд╕реНрдЯрдореИрди рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдПрдкреАрдЖрдИ рдкрд░реАрдХреНрд╖рдгред рдЗрд╕ рд╕рдореАрдХреНрд╖рд╛ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреАред рд╣рдо MBT рдФрд░
graphwalker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреЛрд╕реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреВрдЫреЗрдВ, рдореИрдВ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╡рд┐рдХрд╛рд╕ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред (рд╡реИрд╕реЗ, рдЬрдм рд╡рд╣ рд░рд┐рд▓реАрдЬрд╝ рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣реА рдереА, рд╣рдорд╛рд░реА рдЯреАрдо рдореЗрдВ рдПрдХ
рдХреНрдпреВрдП рдбреЗрд╡рд▓рдкрд░ рдХреА рдиреМрдХрд░реА рджрд┐рдЦрд╛рдИ рджреА, рдЬреЛ рд▓реЛрдЧ рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ)ред