рдЬреЗрдПрд╕ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрдЯрд░реНрди рдореЗрдВ рдкрдардиреАрдп рдкрд░реАрдХреНрд╖рдг рдирд╛рдордХрд░рдг

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


Disklemer


рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдмреБрд░реА рддрд░рд╣ рд╕реЗ / рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ред рдпрд╣рд╛рдБ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рдЙрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА рдирдЬрд╝рд░ рдХреЛ рдкрдХрдбрд╝рд╛ред



рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЯреАрдбреАрдбреА


рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдЬреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореИрдиреБрдЕрд▓ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИрдВ, рдореИрдВрдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ рдореИрдиреБрдЕрд▓ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ


рдореИрдВрдиреЗ рдЗрди рджреЛрдиреЛрдВ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рд▓реЗрдЦ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛:



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


рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдирд╛рдордХрд░рдг рдкрд░реАрдХреНрд╖рдг


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


BAD рдЙрджрд╛рд╣рд░рдг:


describe('discoveryService => initDiscoveries', () => { it(' discoveries ( ,    ..)', () => { // ... }); }); describe('MyGallery', () => { it('init      ( , - )', () => { }); // ... }); 

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ, рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛ (рдкреНрд░рджрд░реНрд╢рди) рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдФрд░ рдХрд┐рд╕ рдареЛрд╕ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред


рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг:


 describe('discoveryService => initDiscoveries', () => { it('   discoveries', () => { // ... }); it('     discoveries', () => { // ... }); }); describe(' Gallery', () => { it('       ', () => { }); it('       ', () => { }); // ... }); 

рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред # 1: рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдкрд╛рда рдХрд╛ рдмреНрд▓реЙрдХ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕ рд╡рд╛рдХрдпреЗ рдХрд╛ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ рд╣реИ рдЬреЛ рдмреЗрд╡рдЬрд╣ рд╢реБрд░реВ рд╣реБрдЖред


рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред # 2: рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, "рдбрд┐рд╕реНрдХрд╡рд░реАрд╕реЗрд╡реА => initDiscoveries" рдлрд┐рд░ рднреА рджреЛ рдбреЗрд╕рд┐рдмреНрдмреЗ рдмреНрд▓реЙрдХ (рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рд╣реИ) рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред


рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред # 3: рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ; рдЗрд╕рдХрд╛ рдЕрд░реНрде "рдЕрдкрдиреЗ рдЖрд╣реНрд╡рд╛рди рдкрд░" рд░реВрдк рдХрд╛ рдПрдХ рдкрд╛рда рд╣реИ, рдЬреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ; рд╕рд░рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ "рдЬрдм рдЗрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ" рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд╛рднрджрд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ IMHOред


рд╡рд░реНрдгрди рдмреНрд▓реЙрдХ рдореЗрдВ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп (рдХрд╛рд░реНрдп рдХреА рдЗрдХрд╛рдИ, рдпреВрдУрдбрдмреНрд▓реНрдпреВ) рдХрд╛ рд╡рд┐рд╡рд░рдг рдЖрдорддреМрд░ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ рд╢рдмреНрдж " рдХрд╛рд░реНрдп рдХреА рдЗрдХрд╛рдИ - рдкрд░рд┐рджреГрд╢реНрдп / рд╕рдВрджрд░реНрдн - рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ " рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд░реНрдгрди рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ:
[ ] [ / ] ( | ) [ ]


рдпрд╛ рдПрдХ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ:


 describe('[unit of work]', () => { it(' [ ] / [/]', () => { }); }); 

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


 describe('[unit of work]', () => { describe('// [scenario/context]', () => { it('/ [expected behaviour]', () => { }); }); }); describe(' Gallery', () => { describe(' ', () => { it('    ', () => { }); it('    ', () => { }); }); // ... }); 

рд╡рди рдЯреЗрд╕реНрдЯ - рд╡рди рдкреНрд░реЛрдмреНрд▓рдо


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


BAD рдЙрджрд╛рд╣рд░рдг:


 describe('isUndefined function', ()=> { it('  true or false    undefined', () => { expect(isUndefined(undefined)).toEqual(true); expect(isUndefined(true)).toEqual(false); }); }); 

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


рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг:


 describe('isUndefined function', ()=> { it('  true,    undefined', () => { expect(isUndefined(undefined)).toEqual(true); }); it('  false      ', () => { expect(isUndefined(true)).toEqual(false); }); }); 

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


рдкрд░реАрдХреНрд╖рдг рд╡реНрдпрд╡рд╣рд╛рд░


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


BAD рдЙрджрд╛рд╣рд░рдг:


 it('   discovery  ', () => { discoveriesCache.addDiscovery('57463', 'John'); expect(discoveriesCache._discoveries[0].id).toBe('57463'); expect(discoveriesCache._discoveries[0].name).toBe('John'); }); 

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


рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг:


 it('   discovery  ', () => { discoveriesCache.addDiscovery('57463', 'John'); expect(discoveriesCache.isDiscoveryExist('57463', 'John')).toBe(true); }); 

рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдПрдХ рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░ рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖


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


рдЕрдкрдиреЗ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ, рдбреЗрд╡рд┐рдб рд╣реЗрдиреАрдорд┐рдпрд░ рд╣реИрдиреНрд╕рди (рд░реЗрд▓ рдврд╛рдВрдЪреЗ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛) рдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╣рд╛:
"рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╡рд▓ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рдЪреАрдЬрд╝%: рдУ рдХрд░ рд░рд╣рд╛ рд╣реИред"


рдЙрдирдХрд╛ рдорддрд▓рдм рдерд╛ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдХреЛрдб рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ред рдФрд░ рд╢рд╛рдмреНрджрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдкреИрдЯрд░реНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА "рдПрдВрдЯрд┐рдЯреА рдП рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдФрд░ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред" рдкреНрд░рдкрддреНрд░ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╡рд░реНрдгрди [- рд╡рд░реНрдгрди ] - рдпрд╣ - рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рддрд╣ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/hi454884/


All Articles