рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдХрд╛рд╕

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



рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдмреАрдбреАрдбреА рдЯреАрдбреАрдбреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдФрд░ рд╡рд┐рдХрд╛рд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде TDD рдФрд░ BDD рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред



рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ 3 рд╕рдВрд╢реЛрдзрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рдореБрдЭреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорд┐рд▓рд╛ред



рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 1



рдЗрд╕ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдпрд╣ рдерд╛:



public class ReferenceNumberTest { @Test public void testValidate() { assertFalse( ReferenceNumber.validate("1234567890123") ); assertFalse( ReferenceNumber.validate("1234567") ); assertTrue( ReferenceNumber.validate("12345678") ); } }
      
      





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



рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 2



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



рдпрд╣рд╛рдБ рдЙрд╕рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛:

 public class ReferenceNumberTest { @Test public void testTooLong() { String len13 = "1234567891111"; assertEquals(len13.length(), 13); assertEquals(ReferenceNumber.validate(len13), false); } @Test public void testTooShort() { String len7 = "1234567"; assertEquals(len7.length(), 7); assertEquals(ReferenceNumber.validate(len7), false); } @Test public void testOk() { String len8 = "12345678"; assertEquals(len8.length(), 8); assertEquals(ReferenceNumber.validate(len8), true); String len12 = "123456789111"; assertEquals(len12.length(), 12); assertEquals(ReferenceNumber.validate(len12), true); } }
      
      







рд╣рдо рдЗрд╕реЗ рдПрдХ рдЕрдЪреНрдЫреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рд╛ рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ: рдЪрд░ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ 13 рд╡рд░реНрдг рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдВ, 7 рдмрд╣реБрдд рдХрдо рд╣реИрдВ, рдФрд░ 8 рд╡рд░реНрдг рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред



рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 3



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



рдбреЗрд╡рд▓рдкрд░ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ:



 public class ReferenceNumberTest { @Test public void nullIsNotValidReferenceNumber() { assertFalse(ReferenceNumber.validate(null)); } @Test public void referenceNumberShouldBeShorterThan13() { assertFalse(ReferenceNumber.validate("1234567890123")); } @Test public void referenceNumberShouldBeLongerThan7() { assertFalse(ReferenceNumber.validate("1234567")); } @Test public void referenceNumberShouldContainOnlyNumbers() { assertFalse(ReferenceNumber.validate("1234567ab")); assertFalse(ReferenceNumber.validate("abcdefghi")); assertFalse(ReferenceNumber.validate("---------")); assertFalse(ReferenceNumber.validate(" ")); } @Test public void validReferenceNumberExamples() { assertTrue(ReferenceNumber.validate("12345678")); assertTrue(ReferenceNumber.validate("123456789")); assertTrue(ReferenceNumber.validate("1234567890")); assertTrue(ReferenceNumber.validate("12345678901")); assertTrue(ReferenceNumber.validate("123456789012")); } }
      
      







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



рд╡реИрд╕реЗ, рдореИрдВ рддреЗрд▓рд┐рди рдореЗрдВ BDD рдкрд░ devclub.eu рд╕рдВрдЧреЛрд╖реНрдареА рдореЗрдВ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╕рдВрдЧреЛрд╖реНрдареА рд╕реЗ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореИрдВ рд╕реНрд╡рдпрдВ рд░реЗрдлрд░рдирдВрдмрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдирдХрд▓ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдХрд░реЗрдВ? рдЖрддрдВрдХ! рд╕реЗрдорд┐рдирд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рджрд┐рди рд╢реЗрд╖! рдореБрдЭреЗ рддрддреНрдХрд╛рд▓ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред



рдЕрдм рдЗрди рддреАрдиреЛрдВ рдкрд░реАрдХреНрд╖рдг рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рд╕реЛрдЪреЗрдВ рдХрд┐ рдХрд┐рд╕рдиреЗ рдореБрдЭреЗ рд░реЗрдлрд╝рд░рдирдВрдмрд░ рд╡рд░реНрдЧ рдХреЗ рддрд░реНрдХ рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред





рдФрд░ рдЕрдВрдд рдореЗрдВ, рдмреА.рдбреА.рдбреА.



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



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



рдЖрдк JUnit рд╕реЗ Easyb рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдЙрд╕реА рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрдХрд░ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :

 description "ReferenceNumber" it "should not be null", { ReferenceNumber.validate(null).shouldBe false } it "should be shorter than 13", { ReferenceNumber.validate("1234567890123").shouldBe false } it "should be longer than 7", { ReferenceNumber.validate("1234567").shouldBe false } it "should contain only numbers", { ReferenceNumber.validate("1234567ab").shouldBe false ReferenceNumber.validate("abcdefghi").shouldBe false ReferenceNumber.validate("---------").shouldBe false ReferenceNumber.validate(" ").shouldBe false } it "valid reference number examples", { ReferenceNumber.validate("12345678").shouldBe true ReferenceNumber.validate("123456789").shouldBe true ReferenceNumber.validate("1234567890").shouldBe true ReferenceNumber.validate("12345678901").shouldBe true ReferenceNumber.validate("123456789012").shouldBe true }
      
      







рдЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╢реБрднрд╛рд░рдВрдн рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ:

5.31 рдХреЗрдмреА



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





рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдмрд╛рдХреА рд╣реИ рдХрд┐ BDD рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: рдЬрд╛рд╡рд╛ ( JDave , JBehave ), Ruby ( RSpec , RBehave , Cucumber ), Groovy ( Easyb ), Scala ( Scala-test ), PHP ( Behat ), CPP () CppSpec ), .Net ( SpecFlow , Shouldly ), рдкрд╛рдпрдерди ( рд▓реЗрдЯреНрдпреВрд╕ , рдХрдХрдбрд╝реА )ред

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



рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдЬрд╝рдорд╛ рдкреНрд░реБрддрдХреЛрд╡ рдХреЛ рд╡рд╕реАрдпрдд рдХреА рдЧрдИ: рдХреЙрдорд░реЗрдб, рдмреАрдбреАрдбреА!






All Articles