рдХреБрдЫ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ
, JUnit 4.9 рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рд▓реЛрдХрдкреНрд░рд┐рдп TDD рдлреНрд░реЗрдорд╡рд░реНрдХ JUnit рдХреЗ рдЬреАрдереВрдм рдкрд░
рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ ред рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рдерд╛?
рдирдП рдирд┐рдпрдо
рдореВрд▓ рд░реВрдк рд╕реЗ, рдирд┐рдпрдореЛрдВ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди (
@Rule
рдирд┐рдпрдо)ред рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рд╡рд┐рдзрд┐ рд╕реНрддрд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рд╕рдВрдкреВрд░реНрдг рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реВрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рднреАред рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдПрдХ рдирдП рдПрдиреЛрдЯреЗрд╢рди
@ClassRule
рдПрд╕реАрд╕реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд┐рд░ рдлрд╝реАрд▓реНрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЧ, рдпрд╛ рдПрдХ рд╕реВрдЯ рдореЗрдВред
рдФрд░ рд╣рд╛рдБ, рдореВрд▓
BlockJUnit4ClassRunner
рд╕рд╣рд┐рдд
ParentRunner
рд╕рднреА рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡
BlockJUnit4ClassRunner
рдирдИ рддрд░рд╣ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред
рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдмрд╛рд░ рд╕рдВрдмрдВрдз рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рд╕реВрдЯ рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ:
<br/>@RunWith(Suite. class )<br/>@SuiteClasses({A. class , B. class , C. class })<br/> public class UsesExternalResource {<br/> public static Server myServer= new Server();<br/> <br/> @ClassRule <br/> public static ExternalResource resource= new ExternalResource() {<br/> @Override <br/> protected void before() throws Throwable {<br/> myServer.connect();<br/> };<br/> <br/> @Override <br/> protected void after() {<br/> myServer.disconnect();<br/> };<br/> };<br/>}<br/> <br/>
MethodRule
рдзреНрдпрд╛рди рджреЗрдВ: рдЗрди рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ
MethodRule
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ
deprecated
рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░
deprecated
рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рд╣реИред рдирд┐рдпрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ
@Rule
рдФрд░
@ClassRule
рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП
TestRule
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП JUnit 4.9 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд┐рдпрдо рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдирдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдПрдкреАрдЖрдИ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдореМрдЬреВрджрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдорд╛рд╡реЗрди - рдЕрдм рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░
рдЕрдм рддрдХ, рдЕрдирд╛рдо рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЦрд░рд╛рдм рд╣реИред 4.9 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, JUnit рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ JUnit рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдг рдЕрднреА рднреА рдЪреАрдВрдЯреА рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЪрд▓реЛ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдлрд┐рд░ рднреА рдирдП рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рд░реВрдк рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрджрдо рдирд╣реАрдВ
hamcrest-core
рдкрд░
hamcrest-core
рдкреИрдХреЗрдЬ рдХреА рд╕рдХрд░реНрдордХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреА рд░реЗрдХ (рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрднреА рднреА рдмрд╣рд┐рд╖реНрдХрд░рдг рдореЗрдВ рдХрдЯреМрддреА рдХрд░рдиреА рд╣реИ)ред
рдФрд░ рдХреНрдпрд╛?
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдЬреАрдкреАрдПрд▓ рдкрд╛рда рдЕрдм рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЪреАрдВрдЯреА-рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЕрдм рддреЗрдЬ рд╣реИ), рдЧрдВрднреАрд░ рдХреАрдбрд╝реЗ рддрдп рд╣реЛ рдЧрдП рдереЗ:
- рдЬреАрдердм #
98 : рдорд╛рди рд▓реЗрдВ () рдЕрдкреЗрдХреНрд╖рд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- рдЧрд┐рддреБрдм # Categoriesрек: рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ + рдкрд░рд┐рдорд┐рдд
- рдЬреАрдердм #
38 : рдкреЗрд░реЗрдВрдЯрдирд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ
- рдЬреАрдердм #
248 : рд╕рдВрд░рдХреНрд╖рд┐рдд рдмреНрд▓реЙрдХрдЬреБрдирд┐рдЯ 4 рдХреНрд▓реИрд╕рд░рдирд░ # рдирд┐рдпрдо рд╡рд┐рдзрд┐ 4.8.2 рд╕реЗ рд╣рдЯрд╛ рджреА рдЧрдИ
- рдЬреАрдердм #
187 : рдЬрд╛рд╡рд╛ 6 рдкрд░ рдЖрдХрд╕реНрдорд┐рдХ рдирд┐рд░реНрднрд░рддрд╛
- github #
163 : рдЬреЛрд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рд╕рдВрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЬреЛрд░ рдХрд╛ рдкреНрд░рдпреЛрдЧ (рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕реНрдЯреНрд░рд┐рдВрдЧ)
- рдЬреАрдердм #
227 : рдкреЗрд░реЗрдВрдЯ рд░рдирд░ рдЕрдм рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ getChildren () рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ
рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕реВрдЪреА рдЖрдо рддреМрд░ рдкрд░ рдорд╛рдореВрд▓реА-рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рддреА рд╣реИред рдореИрдВ
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдЧрд╣рд░реА рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдЪреНрдЫреА рдЦрдмрд░ рдкрд░ рд╣реИрдмреНрд░реЛрд╡реНрд╕реНрдХ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреЛ рдмрдзрд╛рдИ рджреЗрддрд╛ рд╣реВрдВред