ãã®åé¡ã¯ãJUnit4.13ã®ãªãªãŒã¹ã«å¿ èŠãªäœæ¥ã远跡ããŸã
@ junit-team / junit-committers 4.13ãªãªãŒã¹ã«ã€ããŠäœãèãã¯ãããŸããïŒ æ®å¿µãªãããç§ã¯æ¥åžžã®ä»äºã§éåžžã«å¿ããã®ã§ã4.13ãªãªãŒã¹ãé転ããããšã¯ã§ããŸãããã確ãã«å©ããããšãã§ããŸãã
ããã€ãã®æªè§£æ±ºã®åé¡ãMilestone4.13ã«éå§ç¹ãšããŠé¢é£ä»ããŸãããããã€ã«ã¹ããŒã³ã«ã¯ã³ã¡ã³ãã¹ã¬ãããå«ããããšãã§ããªãããã§ãããã®ãããã¹ã±ãžã¥ãŒã«ãšã©ã®æ©èœãããã«å«ãããã«ã€ããŠè©±ãåãããšãã§ãããšæããŸããã
ç§ãããããããšã®1ã€ã¯ã Assert.assertThrows
/ expectThrows
ãJupiterã®Assertions.assertThrows
æããããšã§ãã ç§ã¯åšãã«ããã€ãã®è«äºããã£ãããšãç¥ã£ãŠããæšæã¯ãç§ãã¡ã¯ã移è¡ã®ã·ããªãªãæ€èšããŠåé€ãã¹ãã ãšæããªãªãŒã¹ãããŠããããšããããã¯ããªãããä»ã¯Assert.assertThrows
ããååã®å€æŽexpectThrows
ã«assertThrows
ã ç°è°ã¯ãããŸããïŒ
ãããã®1ã€ãåé€ããæåŸã®è©Šã¿ã¯ïŒ1396ã§ãã
ç§ã¯ãå䜵ã«ã€ããŠã®è°è«ã®äž¡åŽãèŠãããšãã§ããŸãassertThrows
ãšexpectThrows
ãç§ã¯ãã«ã¯åé€ã«å察ããªãããã«ã expectThrows
ã»æŽæ°assertThrows
埩垰ãžã®ãã£ãããããäŸå€ã ãã®åé¡ã®è§£æ±ºçãç¥ãããããã«ããããã®ã¡ãœããã4.xã«è¿œå ããå
ã®ãã«ã«é¢ä¿ãã人ã
ã«é£çµ¡ããããšããå§ãããŸãã APIã®æ¹åæ§ã«é¢ä¿ãªããåæºãã人ããããšæããŸãããããã§ããèªåã®å£°ãèãããŠããããšãå
šå¡ã«ç¥ã£ãŠãããã®ã¯è¯ãããšã ãšæããŸãã
ãã®éã assertThrows(Class<T> expectedType, Executable executable, String message)
ãJUnit4ã«ç§»æ€ããã®ã¯çŽ æŽãããããšã§ãïŒhttps://github.com/junit-team/junit5/commit/ea67ca0ãåç
§ïŒ
4.13ãªãªãŒã¹ã®é²æç¶æ³ã¯ïŒ
@zjffduã¯ãã æè¿ã®äœæ¥ã«ã€ããŠã¯https://github.com/junit-team/junit4/pulse/monthlyããææ¡ãããŠããæ®ãã®äœæ¥ã«ã€ããŠã¯https://github.com/junit-team/junit4/milestone/3ãåç §ããŠ
@kcooney
@marcphilipp
ååã®ãªãªãŒã¹4.12ããã»ãŒ4幎ãçµã¡ãŸããã
ãã詳现ãªãã¹ãã®ããã«4.13-beta-1ãªãªãŒã¹ããŒãžã§ã³ãã«ããããŸãã
ç§ïŒç§ã®çµç¹ã¯æ¬åœã«ïŒã¯TemporaryFolder
ïŒç¹ã«åé¡ïŒ1223ïŒã§è¡ãããäœæ¥ãæ¬åœã«äœ¿ãããã®ã§ãJUnit4.13ãå
¥æããããšã«æ¬åœã«èå³ããããŸãã ãããžã§ã¯ãã®ãã©ãŒã¯ïŒ4.12ïŒãååŸãã TemporaryFolder
ä¿®æ£ãå³éžãã4.13ãå®éã«ãªãªãŒã¹ããããŸã§ããããçæãããJUnitã¢ãŒãã£ãã¡ã¯ãã䜿çšããããšãæ€èšããŠããŸãã ïŒãã©ãŒã¯ã䜿çšãããããžã§ã¯ãã®å°ãªããšãäžéšã¯ãããªãã¯/ OSSãããžã§ã¯ãã§ããããããã©ãŒã¯ããçæãããã¢ãŒãã£ãã¡ã¯ããå
¬éããå¿
èŠããããŸãïŒç§ãã¡ãææããMavenã°ã«ãŒãïŒããMavenCentralãžã ãã ãã4.13ãããã«åæžããããšãèšç»ããŠããå Žåã¯ããåŸ
ã¡ãã ããã ïŒJUnit 5ã«ç§»è¡ããããã®åãçµã¿ã¯é²è¡äžã§ããã TemporaryFolder
ãŸã 圹ã«ç«ã¡ãŸãããïŒ
èãïŒ
ãã°ä¿®æ£ã掻çšããå¿ èŠããã£ãããããã°ããã®éã4.13ããã®ãŸãŸæ§ç¯ããŠäœ¿çšãããã¹ãŠã®å€æŽãå ããŸããã ãããŸã§ã®ãšããåé¡ã¯çºçããŠããŸããã
@cljohnsoãç¬èªã®ããŒãžã§ã³ã®JUnitãMavenã§å ¬éãããšãäžéšã®ãŠãŒã¶ãŒã«ãšã£ãŠåé¡ã«ãªãå¯èœæ§ããããŸããããã¯ãJUnitã®å ¬åŒããŒãžã§ã³ã«äŸåããŠããå¯èœæ§ããããäž¡æ¹ã®äŸåé¢ä¿ããããšãã¯ã©ã¹ãã¹ã§ã¯ã©ã¹ãéè€ããäºæããªãåäœãçºçããããã§ãã
æ®å¿µãªãããJUnitã¯ãã©ã³ãã£ã¢ïŒãã®å€ãã¯JUnit 5ã«åãçµãã§ããŸãïŒã«ãã£ãŠä¿å®ãããŠããããããªãªãŒã¹ã«ã¯äºæ³ãããé·ãæéãããããŸããã
æºåãæ¯æŽãã1ã€ã®æ¹æ³ã¯ããªãªãŒã¹ããŒããä¿®æ£ããŠç¢ºèªããããšã§ãã å€ãã®ãã«ãªã¯ãšã¹ãã¯ããã§ææžåãããŠããŸããã§ããïŒãããã®ãã°ãåç §ããŠãã ããïŒã
4.13ã®ããããã³ã°ãã°ã¯ããã«ãããŸãã
4.13ã«å²ãåœãŠããããã¹ãŠã®åé¡ã解決ãããããã§ãã
@ junit-team / junit-committers 4.13ããªãªãŒã¹ããåã«å¯ŸåŠããå¿ èŠã®ãããã®ã¯ä»ã«ãããŸããïŒ
@marcphilippãããã®ã¯ããŒãºããã«ãªã¯ãšã¹ãã¯ããªãªãŒã¹ããŒãã«èšèŒãããŠããªãå¯èœæ§ããããŸãïŒ https ïŒ utf8 =âïŒq = labelïŒ 3A "needs + release + notes + update" +
ãªãªãŒã¹ããŒããå®æããå§ããŸããã ããããããšã§ã2ã€ã®æ°ãããã«ãªã¯ãšã¹ããäœæããŸããïŒïŒ1551ãšïŒ1552ã å°ãªããšãïŒ1552ã¯4.13ã«ããã¯ãã§ãã
çããããã«ã¡ã¯ã
ãã®ãªãªãŒã¹ã®ã¿ã€ã ã©ã€ã³ã¯èª°ãããã®ã ããããšæã£ãŠããŸããã ç§ãåãå ¥ããããšæã£ãŠããæ©èœãããã€ãããããããããŒãã«ã«å ¥ããã¹ããã©ããçåã«æã£ãŠããŸããã
ãã¹ãŠã®äœæ¥ã«æè¬ããŸãïŒ
@johnterrill 4.13ã«ãã以äžã®æ°æ©èœãè¿œå ããäºå®ã¯ãªããšæããŸãïŒãã°ä¿®æ£ã®ã¿ïŒ
è¿œå ããããã®ããããŸãããããæ°è»œã«æ©èœãªã¯ãšã¹ããè¿œå ããŠãã ããã ããã¯èšã£ãŠããJUnitã®ã»ãšãã©ãã¹ãŠã®æ©èœéçºã¯junit5ãªããžããªã§è¡ãããŠããŸãã
@kcooney 4.13
ã«ãã°ä¿®æ£ã®ã¿ãå«ãŸããŠããå Žåã¯ãååã4.12.1
ãŸãã ãŸã é²è¡äžã®äœæ¥ã¯ãããŸããïŒ
ããã¯ãã°ä¿®æ£ã§ã¯ãªãã泚æãªã©ã®ããã€ãã®æ°æ©èœããããŸãã ãããã£ãŠã4.13ã¯çã«ããªã£ãŠãããšæããŸãã
ãªãªãŒã¹ããŒãã«ã¯ãŸã 5ã€ã®PRããããŸããã æåŸæ¥ãã€ãã«æ»ã£ããšããç§ã¯åœŒãã®äžè©±ãããŸãã AFAIKãããæ®ã£ãŠãããã¹ãŠã§ãã
@marcphilipp JUnit4.13ã®æºåãã§ããŠãããšæããŸãã ãªãªãŒã¹ããŒããå®æãããŸããã
JUnit 4.13ã§ïŒ1568ããªãªãŒã¹ããŠãããšäŸ¿å©ã§ããïŒã¡ã³ããã®1人ããã®ã¬ãã¥ãŒãå¿ èŠã§ãïŒãå¿ é ã§ã¯ãããŸããã
4.13ãªãªãŒã¹ã®ã¢ããããŒãã¯ãããŸããïŒ æ°ãããªãªãŒã¹ãè¡ãããã®ãèŠãŠãšãŠãè奮ããŠããŸãã :)
@robinyqiu
圌ãã¯JUnitã®å»æ¢ãèšç»ããŠããã4.13ãæåŸã®ããŒãžã§ã³ã§ãªããã°ãªããªãã£ãããšãèŠããŠããŸãã 103ã®æªè§£æ±ºã®åé¡ãšããã€ãã®ä¿çäžã®ãã«èŠæ±ããããããããŒãžã§ã³ã¯éçºãç¶ç¶ããå¿
èŠããããŸãã 1ã€ã®æ¹æ³ã¯ãããã€ãã®ãªãªãŒã¹åè£ããŒãžã§ã³ãã«ããããããšã§ãããã°ãšãã«ãªã¯ãšã¹ãã®æ°ã«é¢ããçµ±èšã§äœãèµ·ãããã確èªããŸãã
ãŸã 4.13ããªãªãŒã¹ããäºå®ã ãšæããŸãïŒããŒãžãããæ¹åãšä¿®æ£ã®æ°ãéåžžã«å€ãããïŒã
ç³ãèš³ãããŸããããèããçµããåã«æåŸã®ã³ã¡ã³ããéä¿¡ããŠãã ããã
ãã°ããæéãããã£ãŠããããšããè©«ã³ããŸãã å ã®JUnitã¡ã³ããã¯ãJUnit 5ã®ãµããŒãã§å¿ããããJUnitã§ã®äœæ¥ããäžæ©åŸéããŸããã ãããã®çç±ããã4.xã³ãŒãè¡ã®å Žåã4.13ãæåŸã®ãªãªãŒã¹ã«ãªãå¯èœæ§ãé«ããšæããŸãã
@ Tibor17 @kcooneyãåçããããšãããããŸãïŒ 4.13ãªãªãŒã¹ããã€è¡ããããã«ã€ããŠã®å€§ãŸããªèŠç©ããã¯ãããŸããïŒ
@robinyqiuç§ã¯
@kcooneyã³ãã¥ããã£ã¯ãä»åŸæ°é±éãŸãã¯æ°ãæã®ãªãªãŒã¹èšç»ãæ確ã«æ瀺ããå¿
èŠããããšæããŸãã
ç§ã¯ãäžçäžãJUnit4ã«é·ãéäŸåããŠãããšããäºå®ã®ããã«ãJUnit4ã¯ãŒãã®åé¡ãšãŒãã®ãã«ãªã¯ãšã¹ãã§ãã¡ã€ãã©ã€ãºãããã¹ãã§ãããšä»ã§ã確信ããŠããŸãã
ãããã£ãŠãæ©èœã®ãªã¯ãšã¹ããèŠã€ããå Žåã¯ããã®å¯èœæ§ã¯JUnit5ã«ãããJUnit4ã«ã¯ãªãããšãäŒããŠéããŠãã ããã
ç§ãã¡ã®åé¡ãä¿®æ£ãããã«ãªã¯ãšã¹ããåãå
¥ããå¿
èŠããããŸãã å€ããã«ãªã¯ãšã¹ãã¯ãPRãäœæãã人ãšã®ã³ã³ã»ã³ãµã¹ã«éããŠããªããããã¯ããŒãºããå¿
èŠããããšç§ã«ã¯æãããŸãã
@ Tibor17ä¿®æ£ããå¿ èŠããããšæããããã°ãããå ŽåããŸãã¯åãå ¥ããå¿ èŠããããªã¯ãšã¹ãããã«ããå Žåã¯ããããã®åé¡ã«ã³ã¡ã³ããè¿œå ããŠãã ããã ããæç¹ã§ã4.13ã®ãªãªãŒã¹ãåæžããããšã決å®ããå¿ èŠããããŸãïŒã»ãŒ4幎åã«4.12ããªãªãŒã¹ããŸããïŒã
JUnit4.xã®åºæ¬çã«ãã°ç Žç£ãç³è«ããããšã«ã€ããŠã©ãæããããããŸããã ç§ã¯ç¢ºãã«ãã®ããã»ã¹ãééããæéããããŸããã ãããããä»ã®ã¡ã³ããã³ã¹æ åœè ã®1人ãããããŠããŸãã
@marcphilippãªãªãŒã¹4.13ãã«ããããæéã¯ãããŸããïŒ @ kcooney ã @ dsaffç°è°ã¯ãããŸããïŒ
@kcooneyã¯ãã2015幎ãã2017幎ãŸã§ã¯ã¯ããŒãºããå¿ èŠã®ããåé¡ããããšæããŸãã ãããæåã®ã¹ãããã«ãªããŸãã ããã¯æ確ãªç»åãšãŠãŒã¶ãŒã«ç§ãã¡ãçå£ã«ããããç¶ç¶ããªããšããåå³ãäžããŸãã æ®ã£ãŠããå¯äžã®åé¡ã¯ãå調æ»ãããããã ãã«æéãè²»ããå¿ èŠããããŸãã ãããŠãç§ãã¡ã¯åã³æããããã«ããæçµçã«ãããžã§ã¯ããå®äºããããšãã§ããŸãã
ãªãªãŒã¹4.13ãã«ããããæéã¯ãããŸããïŒ
ã¯ããé±æ«ã«ã§ããŸãã æåã«4.13-RC1ãŸââãã¯4.13-beta-1ãåºè·ããå¿ èŠããããŸããïŒ
4.13-beta-1
ã¯è¯ãèãã§ãã å€ãããŒã¿ãªãªãŒã¹ã®åœåã¹ããŒã ãç¶æããŸãã
4.13-beta-1
ã«åé¡ããªãå Žåããã®åŸ4.13
ãã©ã®ãããåŸ
ã€å¿
èŠããããŸããïŒ 2é±éïŒ
ãªãªãŒã¹ãã«ããããããšã«ç°è«ã¯ãããŸããã RC1察ããŒã¿1ã«ã€ããŠã®åŒ·ãæèŠã¯ãããŸããã
4.13-beta-1ãæ¬æ¥ãªãªãŒã¹ãããMavenCentralã§å©çšã§ããããã«ãªããŸããã
ããããšã@marcphilipp ïŒ
Hamcrestãæ°ããããŒãžã§ã³ããªãªãŒã¹ããããšããŠãããã
Hamcrestãžã®äŸåé¢ä¿ãæ°ãããªãªãŒã¹çšã«æŽæ°ã§ããã°çŽ æŽããããšæããŸãã ããã¯å®è¡å¯èœã§ããããïŒ
@BlueIceãããç§ãã¡ã®æ³šæã
JUnit4ã¯ãŸã Java5ãšäºææ§ããããããJava 7ãå¿ èŠãªãããHamcrest2.xã«ã¢ããã°ã¬ãŒãã§ããªããšæããŸãã
ãã ããPOMã§Hamcrest optional
ã«äŸåããå¿
èŠããããã©ããçåã«æã£ãŠããŸãã ãã®ããããŠãŒã¶ãŒã¯Hamcrestã䜿çšãããã©ããã䜿çšããå Žåã¯ã©ã®ã¢ãŒãã£ãã¡ã¯ããšããŒãžã§ã³ã䜿çšããããæèçã«éžæããå¿
èŠããããŸãã
@tumbarumba @ junit-team / junit-committers WDYTïŒ
ããã«ã¡ã¯ããã ã¯ã¬ã¹ãã®ã³ããã¿ãŒã§ãã çŸåšãHamcrestã®2.1ãªãªãŒã¹ãæºåããŠããŸãã Hamcrestã®äŸåé¢ä¿ãæŽæ°ã§ããã°çŽ æŽããããšæããŸãã æè¿v2.1-rc3ããªãªãŒã¹ããŸããã ã¡ãžã£ãŒããŒãžã§ã³çªå·ã®å¢å ã«ããããããããã®ãªãªãŒã¹ã¯1.3ïŒé·ã話ïŒãšã®äžäœäºææ§ãæå³ããŠããŸãã
泚æãã¹ãç¹ã®1ã€ã¯ãããŒãžã§ã³Hamcrest 2.1ã§ãjarã®ããã±ãŒãžåæ¹æ³ãå€æŽããããšã§ãã hamcrest-core
ãšhamcrest-library
ã¯ã1ã€ã®ã¢ãŒãã£ãã¡ã¯ãhamcrest
ïŒäŸïŒ hamcrest-2.1.jar
ïŒã«ããŒãžãããŸããã äžäœäºææ§ã®ããã«ã hamcrest-core
ããã³hamcrest-library
ã¢ãŒãã£ãã¡ã¯ãã®2.1ããŒãžã§ã³ããªãªãŒã¹ããŠããŸããããããã®jarã¯ç©ºã§ããã hamcrest-2.1.jar
ãžã®æšç§»çãªäŸåé¢ä¿ãéããŠã¢ããã°ã¬ãŒããç°¡çŽ åã§ããããã«æäŸãããŠããŸãã
ãªãã·ã§ã³ã®äŸåé¢ä¿ãæ©èœããŸãã è©Šããããšã¯ãããŸãããã Assertions.assertThat(...)
ã䜿ããªããã°ãäŸåé¢ä¿ã¯ãŸã£ããå¿
èŠãªããšæããŸããïŒ ããªãã䜿çšãããã£ãŒãè¡ãå Žåã«ã¯ãæ瀺çã«ã©ã¡ããã«å¿ããŠã宣èšhamcrest-core-1.3.jar
ãŸãã¯hamcrest-2.1.jar
åãã ããïŒç§ã¯ããããããããããã¹ãããŠããŸãããïŒïŒ
ç§ã®å人çãªå¥œã¿ïŒJUnit 4.13ãhamcrest-2.1.jar
ã«çŽæ¥äŸåãããã ããã¯ãã»ãšãã©ã®äººã«ãšã£ãŠæãé©ãã¹ãã¢ããã°ã¬ãŒããã¹ã§ã¯ãªããšæããŸãã
@ã¿ã³ãã©ã³ã
ç§ã¯ãJava Hamcrest 2.1ã䜿çšãããããããã¯@marcphilippãè¿°ã¹ãããã«ãç§ã¯ãŸãã«ããã®Java 1.5ã®äºææ§ã®ããã®JUnitã®äžã§ãããèŠãããšããæå³ã§ã¯ãããŸããã
ããªããèšã£ãããšã«ãããšã hamcrest-core
ã¯hamcrest
ã«äŒçµ±çã«äŸåããŠããŸãããŠãŒã¶ãŒãšããŠãç§ã®POMã®dependencyManagement
ã§ããé«ãããŒãžã§ã³ã䜿çšããããšã«åé¡ã¯ãããŸããã ãšã«ããç§ã¯hamcrest-library:1.3
ã䜿çšããŠããŠãããŒãžã§ã³ã2.1
å€æŽããããšã¯ç§ãããªããã°ãªããªãããšã§ããã倧ããããšã§ã¯ãããŸããã ãããžã§ã¯ãJUnit5
ã¯hamcrest:2.1
ã«ã€ããŠèããããšãã§ãããããããŸããããããã¯å¥ã®è©±ã§ãã
ãããç§ã¯JUnit4ãJava5ãšäºææ§ããããšããç¹ãèŠéããŸããããã¡ãããããã¯JUnit4.xãå°ãªããšãçŽæ¥ã§ã¯ãªãHamcrest2.0以éã«äŸåã§ããªãããšãæå³ããŸãã JUnit 5ã¯ããµãŒãããŒãã£ã®ãããã£ãŒãžã®äŸåé¢ä¿ããã¹ãŠåé€ãããããHamcrestããå®å šã«ç¬ç«ããŠããŸãã
1ã€ã®ãªãã·ã§ã³ïŒJUnit4.13ã¯Hamcrest1.3ãžã®äŸåé¢ä¿ãç¶æããŸãã Hamcrest 2.1ã®æ°æ©èœã䜿çšãããå Žåã¯ã hamcrest-core-2.1.jar
ãžã®äŸåé¢ä¿ãæ瀺çã«å®£èšã§ããŸããããã«ãããããŒãžã§ã³ã®ç«¶å解決ããã»ã¹ãããªã¬ãŒãããã©ã€ãã©ãªãã¢ããã°ã¬ãŒããããŸãïŒæåã«å®£èšãããŠããå ŽåïŒã
å¥ã®ãªãã·ã§ã³ïŒpom <optional>
å±æ§ã䜿çšããŸãã ããŸãçµéšããããŸããã hamcrest-core-1.3.jar
ãšhamcrest-2.1.jar
äž¡æ¹ã«ãªãã·ã§ã³ã®äŸåé¢ä¿ã宣èšããããšã¯å¯èœã§ããïŒ ãã®å Žåã¯ã©ããªããŸããïŒ
@ã¿ã³ãã©ã³ã
JUnitã®POMã§optional
äŸåé¢ä¿hamcrest-2.1.jar
ã䜿çšããããšã¯ããŠãŒã¶ãŒããããèªåã®POMã«ç¶æ¿ã§ããªãããšãæå³ããŸãã åºæ¬çã«ãããã¯æšç§»çãªäŸåé¢ä¿ã§ã¯ãªãã hamcrest-2.1.jar
ããŸã£ãã宣èšããªãã®ãšåãå¹æã«ãªããŸãã
ãããæ°æ¥éçèããåŸãäžäœäºææ§ã®ããã«hamcrest-core:1.3
ãžã®å¿
é ã®äŸåé¢ä¿ãç¶æããå¿
èŠããããšããçµè«ã«éããŸããã ãªãã·ã§ã³ã«ããããšã¯ãã»ãšãã©ã®ãŠãŒã¶ãŒãå¥ã®äŸåé¢ä¿ãè¿œå ããå¿
èŠããããããè¯ãããšããã害ãåãŒããŸãã
Hamcrest2.1ã«é¢ãããªãªãŒã¹ããŒãã«ã¡ã¢ãè¿œå ã§ããŸãã ããã«ãJUnit 4.xã§æ°ããããŒãžã§ã³ã䜿çšããæ¹æ³ãšãHamcrestã®Webãµã€ããŸãã¯Wikiã§ããŸããŸãªãã«ãããŒã«ãææžåããããšããå§ãããŸãã çæ³çã«ã¯ãJUnit4.13ãªãªãŒã¹ããŒããããã®ããŒãžã«ãªã³ã¯ã§ããŸãã
@ã¿ã³ãã©ã³ãWDYTïŒ
@marcphilippãããªãã®çµè«ã«åæããŸãã ç§ãä»ç解ããŠããããã«ãJava1.5ãžã®JUnit4ã®äŸåé¢ä¿ã¯ãHamcrest 2.xãå®å šã«é€å€ããç§ãèŠãéãããªãã·ã§ã³ã®äŸåé¢ä¿ã䜿çšããããšã¯æ©èœããŸããã
ããã¥ã¡ã³ãã«é¢ããŠã¯ãHamcrestããã¥ã¡ã³ããæŽæ°ããããã®ãã«ãªã¯ãšã¹ããéããŠããŸãïŒhamcrest / JavaHamcrestïŒ237ãåç §ïŒã ããã«ã€ããŠã®ãã£ãŒãããã¯ãããã ããã°å¹žãã§ãã Hamcrest 2.1ã®ããã¥ã¡ã³ãã¯ã httpsïŒ //tumbarumba.github.io/JavaHamcrestïŒç¹ã«Hamcrest 1.xããã®ã¢ããã°ã¬ãŒãã«é¢ããã¡ã¢ïŒã§ãã¬ãã¥ãŒã§ããŸãã å®éã®Hamcrest2.1ããªãªãŒã¹ããããŸã§ããã®ãã«ãªã¯ãšã¹ããããŒãžããŸããã
éæšå¥šã®ã¯ã©ã¹ã«é¢ããããã€ãã®åé¡ãä¿®æ£ããããã«ãHamcrest2.1ã®å¥ã®ãªãªãŒã¹åè£ããªãªãŒã¹ããããšããŠããŸãã ããŸãããã°ããããæåŸã®RCã«ãªããŸãïŒãã£ãŒãããã¯ããªãéãïŒã hamcrest / JavaHamcrestïŒ224ããã§ãã¯ããŠã次ã®HamcrestãªãªãŒã¹ããã©ããŒããŠãã ããã
4.13-beta-1ããªãªãŒã¹ãããŠãã3é±éãçµã¡ãŸããã 4.13ã®æçµãªãªãŒã¹ã劚ãããã®ã¯ãããŸããïŒ
@ijumahttps ïŒ//github.com/junit-team/junit4/milestone/8ã«1ã€ã®åé¡ããªã¹ããããŠããŸã
ïŒ1569ãå«ããå ŽåããããŸã
ïŒ1569ãšãªãªãŒã¹4.13-beta-2ãå«ããã¹ãã ãšæããŸãã ãããåæ ããããã«ã察å¿ããæ°ãããã€ã«ã¹ããŒã³ãäœæããŸããã
beta-2 / GAã®ãªãªãŒã¹ããã€æåŸ ã§ãããã«ã€ããŠã®ãã¥ãŒã¹ã¯ãããŸããïŒ ç§ã¯4.13ã«ãšãŠãè奮ããŠããŠãå®éã«ããã䜿çšããããšã«ç±å¿ã§ãããããã¯ãŸã ãããŒã¿ãã¹ããŒã¿ã¹ãæã£ãŠããã®ã§ãç§ã®æ¥åžžã®ä»äºã§ã¯äœ¿çšã§ããŸãã:-(
ïŒ1586ãããŒãžãããã®ã§ãæ°æ¥äžã«4.13-beta-2ããªãªãŒã¹ããŸãã
@ junit-team / junit-committersç°è°ã¯ãããŸããïŒ
ç°è°ãªãð
4.13-beta-2ããªãªãŒã¹ããããã¹ãã®æºåãæŽããŸããã
4.13-beta-2ãã1ãæ以äžãçµéããŠãããç§ãç¥ãéããåé¡ã®å ±åã¯ãããŸããïŒïŒ1593ãé€ãïŒã ä»åŸæ°æ¥ã§4.13ããªãªãŒã¹ããããšãææ¡ããŸãã
@ junit-team / junit-committersç°è°ã¯ãããŸããïŒ
ApacheKafkaã«ã¯4.13-beta-2ãåé¡ãªã䜿çšããŠããŸãã
@ijumaæããŠãããŠããããšãïŒ
ç°è°ã¯ãããŸããã ç§ã¯ä»äºã§ããã䜿çšããŠããŸãããããŠãã¹ãŠãããŸããããŸãã
Googleã§4.13ã䜿çšããããã»ã¹ãéå§ãããšããã2ã€ã®èŠåïŒãã«ãã·ã¹ãã ã§ã¯ãšã©ãŒãšããŠæ±ãããŸãïŒãçºçãã2ã€ã®ãã«ãªã¯ãšã¹ããéä¿¡ãããŸããã 4.13ã§å€ãã®ãã¹ããå®è¡ãå§ãããšãããã«å€ãã®åé¡ãçºçããå¯èœæ§ããããŸã
äžé±éãããåŸ ã€ããšã¯ã§ããŸããïŒ
ãŸãã¯ã4/13ãã¿ãŒã²ããã«ããããšãã§ããŸã;-)
@kcooneyããªããèšåãã2ã€ã®PRã¯ïŒ1596ãšïŒ1597ã§ãããšããã®ã¯æ£ããã§ããïŒ 4/13ã¯å®ç§ãªã¿ãŒã²ããã®ããã«èãããŸã:-)
ããã¯è¯ãæ€èšŒã®ããã«èãããã®ã§ãçµæãåŸ ã¡ãŸãããã
ãããããäºå®ïŒ4.12ã¯12/4ã«ãªãªãŒã¹ãããŸããð
@kcooneyããªããèšåãã2ã€ã®PRã¯ïŒ1596ãšïŒ1597ã§ãããšããã®ã¯æ£ããã§ããïŒ
ã¯ãã
Mockitoã®DefaultInternalRunner
ã«ãªã°ã¬ãã·ã§ã³ãèŠãããŸãã äœãèµ·ãã£ãŠããã®ãç解ããã®ã«èŠåŽããŠããŸãããåé¡ã¯ããã¹ãã倱æããã«ããããããã testFinished
ãåŒã³åºãããããšã§ãã ãã ãã ParentRunnerã®å±¥æŽãããèŠã€ããããšã¯ã§ããŸããã
4.13ã§ååž°ãã4.12ã§åæ Œãããã¹ãã¯ã httpsïŒ //github.com/mockito/mockito/blob/a323b8132de6f6e1c29d738de245469f8ce009b0/src/test/java/org/mockito/internal/runners/DefaultInternalRunnerTest.java#L42-L59ã§ã
@TimvdLippe RunListener.testFinished()
ã®Javadocã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸãã
ãã¢ãããã¯ãã¹ããçµäºãããšãã«ããã¹ããæåããã倱æãããã«é¢ä¿ãªãåŒã³åºãããŸããã 4.12ãš4.13ã§ç°ãªãåäœãèŠãããçç±ã¯ããããŸãããã4.13ã§èŠãããåäœã¯æ£ããããã«èãããŸãã
JUnit 4.12ãšã®çµ±åãå£ããã®ã§ã¯ãªãããšå¿é ããŠããŸãããJUnit4.13ã§æ£ããåäœããããã«åäœãæŽæ°ããããšæããŸãã ç§ã¯ææ¥è§£æ±ºçãèŠã€ããããšããŸãã
MockitoããïŒ1599ã«è€è£œã±ãŒã¹ãæœåºããããšãã§ããŸããã withBefores
ã®åãæ±ãã«é¢ä¿ããŠããããã§ãã
ã³ãŒãããŒã¹ã§4.13ããã¹ãããŠããã®ã§ãïŒ1421ãããã€ãã®åé¡ãåŒãèµ·ãããŠããŸãã
誰ããïŒ1421ãå ã«æ»ãPRãæåºããæéããããŸããïŒ
@panchenkoã«ãã£ãŠïŒ1602ã§è¡ãããŸããã
@kcooneyå¥ã®ããŒã¿ãªãªãŒã¹ãè¡ããŸããããã
@marcphilippããªã次第ã æè¿ã®å€æŽã¯4.12ã®äººã ã«åœ±é¿ãäžããã¹ãã§ã¯ãããŸããïŒ4.13ã®ãã¬ãªãªãŒã¹ã®äººã ã®ã¿ïŒã
ç§ãã¡ã®ã³ãŒãããŒã¹ã§ã¯ãçŸåšã null
ãFrameworkMethod
ã³ã³ã¹ãã©ã¯ã¿ãŒã«æž¡ãå€ãã®å Žæã§äœæ¥ããŠããŸãðæ®å¿µãªãããå®éã®åé¡ã確èªããã®ã¯å°é£ã§ãã
@kcooneyãããã®å€æŽã
@marcphilippè¿ä¿¡ãé ããªã£ãŠãã¿ãŸããïŒäŒæäžã§ãïŒã çŸåšããã¹ãã®2.9ïŒ ãJUnit 4.13ã§å€±æããŠããŸãããäžéšã¯äžå®å®ãªå€±æã§ããå¯èœæ§ããããŸãã æåãµã³ãã«ã§ã¯ãââ4.13ã§ã®å€æŽã«ããåé¡ã¯ç€ºãããŠããŸãããããŸã å€ãã®ããšãè¡ãå¿ èŠããããŸãã
@kcooneyå¿é ãããŸããïŒ ã ãããèŠç©ããã¯ãããŸããããïŒ ð
@marcphilippãããŸã§ã®ãšãããæ®ãã®å€±æã¯çãããããšãè¡ã£ããã¹ãã§ããããããããã®4.13ããããã¯ããŸããã ä»å€ã¯ãã¹ãŠã®å€±æã調ã¹ãŸãã
çãããããšãããããã«å€±æãããã¹ãã®ããã€ãã®äŸïŒ
ãµãã¯ã©ã¹ã«åºæ¬ã¯ã©ã¹ãã£ãŒã«ããšåãååãšã¿ã€ãã®@Rule
ãã£ãŒã«ãããããã¹ããããã€ããããŸãïŒããã@Rule
泚éãä»ããããŠããŸãïŒã ã©ããã4.12ã§ã¯ãµãã¯ã©ã¹ã«ãŒã«ãåºæ¬ã¯ã©ã¹ã«ãŒã«ã®ä»£ããã«å®è¡ãããŸããã4.13ã§ã¯äž¡æ¹ãå®è¡ãããŸãã ã·ã£ããŠã¡ã³ããŒã®åãæ¹ãå€ããããšãèŠããŠããŸãã ç§ãèŠãŠããã®ãæå³çãªå€æŽã§ãã£ããã©ããã¯æãåºããŸããã
ãŸããJUnit 4.13ãæ¹åããããšã©ãŒã¡ãã»ãŒãžãçæãããã¹ããç¹å®ã®ãšã©ãŒã¡ãã»ãŒãžãã¢ãµãŒãããŠãããšãã倱æãèŠãããŸãã
ïŒãã«ãªã¯ãšã¹ãçªå·ãä¿®æ£ããããã«ç·šéïŒ
@ marcphilipp ïŒ1414ã§å€æŽãå ããçç±ãæãåºãããšããŠããŸã
ãã£ãŒã«ããåºæ¬ã¯ã©ã¹ããåããã£ãŒã«ããã·ã£ããŠã€ã³ã°ããªãã®ã¯äºå®ã§ãããJUnit 4.xã¯ããã°ããã®éãã·ã£ããŠã€ã³ã°ãããã®ããã«åŠçããŸããã ç§ãåãçµãã§ããïŒããã§ã倧ããªïŒã³ãŒãããŒã¹ã«ã¯ããµãã¯ã©ã¹ã¯ã©ã¹ã®@Rule
ãã£ãŒã«ããããŒã¹ã¯ã©ã¹ã®ãã£ãŒã«ãã®åäœã眮ãæããããšãåæãšããã³ãŒãã®äŸããããããããŸãã ãã®åé¡ãåé¿ããã®ã¯ããã»ã©é£ããããšã§ã¯ãããŸãããïŒãã£ãŒã«ããã¡ãœããã«å€æŽããŠããµãã¯ã©ã¹ããªãŒããŒã©ã€ãã§ããããã«ããŸãïŒããã®ãã«ã®å©ç¹ãæ¢åã®ãŠãŒã¶ãŒã®ã³ã¹ããäžåããã©ããçåã«æããŸãã
äžäœäºææ§ã®ããã«çãããåäœã§ã¯ãããŸããããããå ã«æ»ããŠå€ããã®ã埩å ããå¿ èŠããããšæããŸãã
@stefanbirkner WDYTïŒ
åæããŸãã æ¢åã®ãã¹ããç Žãããšãæ£åœåããå©ç¹ã¯èŠåœãããŸããã
æçµçã«ïŒ1414ãå ã«æ»ãïŒ1605ãäœæããŸããã
å¥ã®ããŒã¿ãªãªãŒã¹ããªãªãŒã¹ããå¿ èŠããããšæããŸãã @kcooneyæ°æ¥ä»¥å ã«ãããå®è¡ããŸããããããšã4.13-beta-2ã§è¿œå ã®åé¡ãçºèŠããŸãããïŒ
@marcphilippææ°ã®å€æŽã§ããããé©çšããŸããããåå®è¡ã確èªããŠããéããã¿ãŒã³ã¯è¡šç€ºãããŸããïŒæ¹åãããšã©ãŒã¡ãã»ãŒãžãã¢ãµãŒããããã¹ããé€ãïŒã ç§ãèŠãŠããæ®ãã®åé¡ã¯ãæªããã¹ããŸãã¯äžå®å®ãªãã¹ãã ãšæããŸãã
ç³ãèš³ãããŸããããããã«ã¯æéãããããŸãããããããã®å€æŽãå ã«æ»ããŠããã£ãã§ãã
4.13-beta-3ããªãªãŒã¹ããããã¹ãã®æºåãæŽããŸããã
ãã®ãã¡ã®1人ãhttps://github.com/junit-team/junit4/pull/1608ã«ããŒãžã§ããã°çŽ æŽããããšæã
ïŒ1609ããæ€èšããã ããã°å¹žãã§ãã
æè¿ãJUnit4.12ããJUnit4.13-beta-3ã«ã¢ããã°ã¬ãŒãããŸããã ããã¯ããŸãæ©èœããŠããŸãã
ã¢ããã°ã¬ãŒãããçç±ã¯ããã®ä¿®æ£ãå¿
èŠã ã£ãããã§ãã
https://github.com/junit-team/junit4/commit/faa0e334080cd91f05fc1acbc7c39a525e172256
4.13.0 GAã«ã€ããŠäœãèãã¯ãããŸããïŒ
@sullisæ®ãã®äž»ãªåé¡ã¯ãæšå¥šäºé ãä¿®æ£ããããšã§ãã ãã ã¯ã¬ã¹ãïŒïŒ1608ãåç §ïŒã
ãã ã¯ã¬ã¹ãããŒã ïŒå¥åç§ïŒã¯ãïŒ1608ã«é¢ããŠå€æŽãå ããäºå®ã¯ãããŸããã ããã¯ã4.13ã«ä»ã®ãããã«ãŒããªãããšãæå³ããŸããïŒ
ãã ã¯ã¬ã¹ãããŒã ãå€æŽãå ããã®ãåŸ ã£ãŠãããšããæå³ã§ã¯ãããŸããã§ããã ç§ã¯https://github.com/junit-team/junit4/pull/1608#issuecomment-496492379ãåç §ããŠããŸããïŒ
èŠçŽãããšã誰ããHamcrestã«é¢ãããã¹ãŠã®éæšå¥šã確èªãããéæšå¥šã¡ãã»ãŒãžãããããèªäœããã§ã«éæšå¥šã«ãªã£ãŠãããããã³/ãŸãã¯äœ¿çšã§ããªããªã£ããã®ã䜿çšããããã«ãŠãŒã¶ãŒã«éç¥ããªãããã«ããå¿ èŠããããŸãã
æ°Žææ¥ããã®ãéæšå¥šã¡ãã»ãŒãžããæ åœããŠããŸãã
æ°Žææ¥ããã®ãéæšå¥šã¡ãã»ãŒãžããæ åœããŠããŸãã
æ°Žææ¥ã®å€ãŸã§ã«å®äºããå Žåã¯ã Spring Framework 5.2 GAã«å«ããããšãã§ããå¯èœæ§ããããŸããããã«ããããã®ã³ããããŸãã
ããã...ãã¬ãã·ã£ãŒã¯ãããŸããã Spring Framework5.2ãJUnit4.13ããµããŒãããŠãããšå ¬åŒã«è¿°ã¹ãŠããã®ã¯ã䟿å©ãªã ãã§ãã JUnit 4.13ããªãªãŒã¹ãããåŸããJUnit4.13ã¯Spring5.2ã§åé¡ãªãåäœããŸãã ð
ããã«ã¡ã¯@sbrannen ãç§ã¯å§ããŸããããããç§ã¯ä»å€ãããçµããããŸããã ç§ã¯çŸåšãã¹ãŠã®ã³ã¡ã³ããèªãã§ããŠããã¹ãŠã®è©³çŽ°ãç解ããããšããŠããŸãã
@stefanbirkner ãå¿é ãããŸããïŒ ç§ãèšã£ãããã«ãããã¯ãæã£ãŠããã°è¯ãã£ããã§ããããã確ãã«ããã«å¯ŸããèŠä»¶ã¯ãããŸããã JUnit 4.13ã«ã¯ãSpring Boot2.2ã«ãã£ãŠæ£åŒã«åãäžããããæéããŸã ããå¯èœæ§ããããŸãã ð
4.13.0 GAã«ã€ããŠäœãèãã¯ãããŸããïŒ
ïŒ1609ã®è§£æ±ºçããªããšãJUnit4.13ã®é¢é£æ§ã¯ãããããäœããªããªã¹ã¯ããããŸãã JUnit 4.12ã®ãŠãŒã¶ãŒã¯ãå£ããŠããªãã³ãŒãã®éæšå¥šã§ã¯ãªãããã°ä¿®æ£ãšJUnit5ããã®ããã¯ããŒããåŸ ã£ãŠããŸãã
JUnit 4.13 GAã®ãããã«ãŒã¯ãããŸããïŒ
äœãèŠããŸããã 4.13-rc-1ãå ¬éããŠãææ°ã®å€æŽã«é¢ãããã£ãŒãããã¯ãããã«å ¥æããŸãã
JUnit4.13-rc-1ãMavenCentralã§ãã¹ãã§ããããã«ãªããŸããã åé¡ãçºçããå Žåã¯ãç¥ãããã ããã
4.13 beta
ãšrc
ããã¹ãããç§ãã¡ã®å€§èŠæš¡ãªçµç¹ã§æ©èœããŸãð
JUnit 4.13-rc1ããã¹ãããŸããããåé¡ã¯çºçããŸããã§ããã
Jenkinsçšã®StashPull RequestBuilderãã©ã°ã€ã³ã䜿çšããŠJUnit4.13-rc-1ããã¹ãããŸããã äºæ³ã©ããããã¡ã€ã«ããšã«1åExpectedException
ã䜿çšãããã¡ã€ã«ã«å¯ŸããŠéæšå¥šãããªã¬ãŒãããŸããã
å€ãã®å Žåããã¹ãã¯äŸå€ã®çš®é¡ãã¡ãã»ãŒãžãããã³åå ããã§ãã¯ããŠããŸããã äžæå€æ°ããªãããã«ããã¹ãŠã®ãã§ãã¯ã1ã€ã®åŒã«åããããšãã§ããŸããã
SpotBugsãsb-contribãfind-sec-bugsã䜿çšããæ°ããã³ãŒãã«é¢ããèŠåãéæšå¥šã¯è¡šç€ºãããŸããã
å¯äžã®å°ããªæ¬ ç¹ã¯ãLinuxäžã®Eclipse 2019-09ã§assertThat
ã®ã«ãã¬ããžãé»è²ã§è¡šç€ºãããããšã§ãã 以åãããã¯ããã«åªããŠããŸãã ãã®äžã誰ããã¹ãèªäœã®ãã¹ãã«ãã¬ããžãæ°ã«ããŸããã
JUnit 4.13ã®ã¹ããŒã¿ã¹ã¯ã©ããªã£ãŠããŸããïŒ
3é±éãçµéããå ±åãããåé¡ã¯1ã€ã ãã§ãïŒ https ïŒ
@kcooney @stefanbirknerèŠãŠããã ããŸãããïŒ äžèšã®åé¡ã¯è§£æ±ºã§ãããšæããŸãã
@marcphilippé·ãé 延ããè©«ã³ããŸãã ç§ã¯1幎以äžJUnitã«åãçµãæéãããŸããããŸããã§ããã
ãã®ãã°ã«ã€ããŠã³ã¡ã³ãããŸããã ã©ãããã°ä¿®æ£ã§ãããããããŸããã
4.13ã®æ©èœãªã¯ãšã¹ãã1ã€ãããŸããã ïŒ1637ãåç §
ããã«ã¡ã¯ãJUnit 4.13ã®ã¹ããŒã¿ã¹ã¯ã©ããªã£ãŠããŸããïŒ
JUnit4.13-rc-2ãMavenCentralã§ãã¹ãã§ããããã«ãªããŸããã åé¡ãçºçããå Žåã¯ãç¥ãããã ããã
JUnit 4.13-rc2ããã¹ãããŸããããåé¡ã¯çºçããŸããã§ããã LGTM
åæ§ã«ãJUnit4.13-rc-2ã¯æ£ããæ©èœããŠããŸãã æ°ããäŸå€ãã§ãã¯ã䜿çšããŠããŸãã
JUnit 4.13 GAã®ãããã«ãŒã¯ãããŸããïŒ
@ kcooney ïŒ1637ã解決ãããã®ã§ã4.13-rc-2ã§åãã¹ãããŠãã ããã
ãã¹ãŠã®ã¢ããããŒãïŒ
JUnit 4.13 GAã®ãããã«ãŒã¯ãããŸããïŒ
è¿äºãé ããŠç³ãèš³ãããŸãã; ããæ°é±éã¯å¿ããã§ãã
ææ°ã®JUnitã®å€æŽãã³ãŒãã«çµ±åããæéããããŸããã§ãã
ãªããžããªã ç§ã¯ãã®åäœãã«ããŒããç§ãã¡ã®åŽã®ãââã¹ããèŠãŸãã
ã¯ã©ã¹ãFixMethodOrderã䜿çšããå Žåã®ã©ã³ãã åãããã³ãããã¯ã»ãŒæ£ç¢ºã«èŠããŸã
ç§ããããåŒã£åŒµã£ããã¹ããšåãã§ãã JUnitããããã¯ããçç±ãããããŸãã
ãã®ä¿®æ£ã§ããã«æ€èšŒãè¡ãããšã§ãªãªãŒã¹ããŸãã
qïŒJUnit 4.13 GAã®ãããã«ãŒã¯ãããŸããïŒ
JUnit 4.13ããªãªãŒã¹ãããŸããïŒ ð
https://twitter.com/junitteam/status/1212403812192964608
æãåèã«ãªãã³ã¡ã³ã
4.13-beta-1ãæ¬æ¥ãªãªãŒã¹ãããMavenCentralã§å©çšã§ããããã«ãªããŸããã