рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

рдирд┐рдГрд╢реБрд▓реНрдХ рдХреЛрд░реНрд╕

Java рдореЗрдВ Testing рдкрд░рд┐рдЪрдп

рдЙрдиреНрдирдд3 рдШрдВрдЯреЗ

JUnit рдФрд░ Mockito рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Java рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рдЯреЗрд╕реНрдЯ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦреЗрдВ, рддрд╛рдХрд┐ рдордЬрд╝рдмреВрдд, рднрд░реЛрд╕реЗрдордВрдж рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдмрдирд╛ рд╕рдХреЗрдВред

Java3 рдШрдВрдЯреЗрдЙрдкрд▓рдмреНрдзрд┐ рдХрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░

рдЕрдкрдирд╛ рдирд┐рдГрд╢реБрд▓реНрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ

Google рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦреЗрдВ
рдпрд╛
рдЬрд╛рд░реА рд░рдЦрдХрд░, рдЖрдк рд╣рдорд╛рд░реА рдЙрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЗрдВ, рд╣рдорд╛рд░реА рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рднреА рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ USA рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рд╣рдЬрд╝рд╛рд░реЛрдВ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд╢рд┐рдХреНрд╖рд╛рд░реНрдерд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛

рдХрд┐рд╕реА рдЯреАрдо рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЬрд╝рдорд╛рдПрдБ тЖТ

рдХреЛрд░реНрд╕ рд╡рд┐рд╡рд░рдг

рдкрд░реАрдХреНрд╖рдг рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

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

рдЖрдк рдХреНрдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ

рдпрд╣ рдкрд╛рдареНрдпрдХреНрд░рдо рдЖрдкрдХреЛ Java рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред рдЖрдк рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдпрд╣ рдЬрд╛рдирдиреЗ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк JUnit рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ Java рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдмрд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдФрд░ Mockito рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдЯрд┐рд▓ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдк рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ, рдЖрдк Test Driven Development рдХреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗ рдФрд░ parameterized рддрдерд╛ integration tests рджреЛрдиреЛрдВ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрдд рддрдХ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реЗ рдЙрдкрдХрд░рдг рдФрд░ рддрдХрдиреАрдХреЗрдВ рд╣реЛрдВрдЧреА рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рд░реНрдердХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╣реИред

рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ

рдкрд╛рдареНрдпрдХреНрд░рдо

рдХреЛрд░реНрд╕ рд░реВрдкрд░реЗрдЦрд╛

1

рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рдж

рд╢реБрд░реВ рдХреАрдЬрд┐рдП рдСрдЯреЛрдореЗрдЯреЗрдб рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдФрд░ рдЙрди рдЖрдо рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдХрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ рдЯрд╛рд▓рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдлрд┐рд░, Java рдХреА JUnit 5 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде practically рдХрд╛рдо рдХреАрдЬрд┐рдП рдФрд░ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХреЛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд░рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрд┐рдПред
рдЕрдзреНрдпрд╛рдп рд╢реБрд░реВ рдХрд░реЗрдВ
2

рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯрд┐рдВрдЧ

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

рдЖрдЧреЗ рдХреА рддрдХрдиреАрдХреЗрдВ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди

рдЬрд╛рдиреЗ рдХрд┐ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдХрдо verbose рдмрдирд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдХреНрдпрд╛ рд╣реИрдВред рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЯреЗрд╕реНрдЯ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░рд╛рдЗрдЬрд╝ рдХрд░рдирд╛; рджреВрд╕рд░рд╛ рд╣реИ @BeforeEach рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдирдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЗрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддрд╛ рд╣реИред
рдЕрдзреНрдпрд╛рдп рд╢реБрд░реВ рдХрд░реЗрдВ
J

Java рдореЗрдВ Testing рдкрд░рд┐рдЪрдп

рдХреЛрд░реНрд╕
рдкреВрд░реНрдг

рдЙрдкрд▓рдмреНрдзрд┐ рдХрд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЕрд░реНрдЬрд┐рдд рдХрд░реЗрдВ

рдЕрднреА рдирд╛рдорд╛рдВрдХрди рдХрд░реЗрдВ

DataCamp for Mobile рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреМрд╢рд▓ рдмрдврд╝рд╛рдПрдБ

рд╣рдорд╛рд░реЗ рдореЛрдмрд╛рдЗрд▓ рдХреЛрд░реНрд╕ рдФрд░ рд░реЛрдЬрд╝рд╛рдирд╛ 5-рдорд┐рдирдЯ рдХреА рдХреЛрдбрд┐рдВрдЧ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ-рдлрд┐рд░рддреЗ рдкреНрд░рдЧрддрд┐ рдХрд░реЗрдВред