JJUG CCC 2014 fall ãç§ãTDDåºæ¥ãªãã®ã¯ã©ãèãã¦ããåããæªãï¼ãï½ã¨ã³ã¿ã¼ãã©ã¤ãºJavaéçºã§ã®TDDé©ç¨ã®åæï½
ã¯ããã« DHHæ°ã®TDD is dead. Long live testing. (DHH)ã®ã¨ã³ããªã¯ãå½å ã§ããã¾ãã¾ãªè°è«ãå¼ã³èµ·ããã¾ãããã§ããããã®ã»ã³ã»ã¼ã·ã§ãã«ãªè¦åºãã®å½±é¿ããããã(TDDã¨åä¸è¦ããä¸ã§ã®)ã¦ããããã¹ãã¯ä¸è¦ããªã©ã®ããã¹ãªã¼ããããè«èª¿ãè¦ããã¾ããä¹ãé ããæãããã®ã§ãããåè¿°ã®ã¨ã³ããªã«éãããTDDã«ã¤ãã¦æè¿èãã¦ãããã¨ãã¾ã¨ãããã¨æãã¾ãã TDDï¼ãã¹ããã¡ã¼ã¹ãã§ã¯ãªã ã±ã³ãããã¯ã®ããã¹ãé§åéçºå ¥éãããUncle Bobã®TDDä¸ååã®å½±é¿ããããTDDã§ã¯ãã¾ããã¹ããã¡ã¼ã¹ãããã®ã ãã¨ããå°è±¡ããæã¡ã®æ¹ãããã¨æãã¦ãã®ã§ããããããªããã¹ããã¡ã¼ã¹ãããã¨ããã®ã¯ãææ¡ä¸»ç¾©ãªã¨ããããããç¾å ´ã«é©ç¨ããã®ã¯æ·å± ãé«ãã®ã¯ç¢ºãã§ãã TDDãå®è·µããä¸ã§å¤§äºãªã®ã¯ããã¹ãã«ãã£ã¦éçºãé§åããããã¨ã§ããããªã
TDDï¼BDDã®ææ³ã¨ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã®é¢ä¿ãæ´çãããï¼ãã¾ããèããªãTDD/BDDè¶ å ¥éï¼2ï¼ï¼1/3 ãã¼ã¸ï¼ TDDï¼BDDã®ææ³ã«è§¦ãããã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦xUnitãJBehaveãxSpecãCucumberãTurnipãTestDoxãç´¹ä»ããã ååã®ããã¹ãé§åéçºï¼æ¯ãèãé§åéçºãå§ããããã®åºç¤ç¥èãã§ãç´¹ä»ããã£ãããã«ããã¾ãã¾ãªãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ãããã¾ããä¾ãã°TDDèªä½ã¯ãKent Beckï¼ã±ã³ãã»ããã¯ï¼æ°ãèæ¸ããã¹ãé§åéçºå ¥éãï¼ãã¢ã½ã³ã¨ãã¥ã±ã¼ã·ã§ã³åï¼ã®ä¸ã§è¿°ã¹ã¦ããããã«ããåæææ³ããã³è¨è¨ææ³ã§ãããå®éã«ã¯éçºå ¨ã¦ã®ã¢ã¯ãã£ããã£ãæ§é åããããã®ææ³ãã§ãã TDDï¼ãã¹ãé§åéçºï¼ï¼BDDï¼æ¯ãèãé§åéçºï¼ãå®è·µãããã¨ã¨ãç¹å®ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ãæ¡ç¨ãããéçºããããããã¨ãåãã¦èãã¦ãããª
é£è¼ç®æ¬¡ 2000年代åæã«éçºææ³ã¨ãã¦ç¢ºç«ãããããã¹ãé§åéçºãï¼Test Driven Developmentã以ä¸ãTDDãï¼ã¯ããã®å¾10å¹´ãã®éã§æ®åãé²ã¿ãä»ãçãããªãéçºã¹ã¿ã¤ã«ã®1ã¤ã¨ãªã£ã¦ãã¾ããå½å ã§ããã¢ã¸ã£ã¤ã«ã¢ã«ããã¼ããTDD Boot Campããªã©ã«ããæ¨é²ã»æ®åæ´»åãåå°ã§æ´»çºåããèªç¥ãåºãã£ã¦ãã¾ããã ãªãTDDã¯èªçããããã¾ã§ã®éã«ããã¾ãã¾ãªå·¥å¤«ãå®è·µä¸ã®ãã¦ãã¦ãæå±ããã¦ãã¾ãããã¾ãTDDã®æ®åã«å½±é¿ãåããä»ã®ãã¾ãã¾ãªããã¹ããã¡ã¼ã¹ããææ³ãå°é ãã¦ãã¦ãã¾ãã æ¬ç¨¿ã§ã¯ãããããTDDã®çºå±ããæ¯ãèãé§åéçºï¼Behavior Driven Developmentã以ä¸ãBDDãï¼ãªã©ä»ã®ãã¹ããã¡ã¼ã¹ãææ³ã¸ã®å±éã«ã¤ãã¦ã解説ãã¾ãã â»ç·¨éé¨æ³¨ï¼ã½ããã¦ã§ã¢ã®ããã¹ãããã®ãã®ã®æ¦è¦ã種é¡ã«ã¤ãã¦ç¥ãããæ¹ã¯è¨äºãJ
ã¯ããã« æè¿ã¯ãåãè·å ´ã§åãã¦ãã人ã«å¯¾ãã¦ãããã¹ãé§åéçºå ¥éãã®æ¬ã貸ããããèªåèªèº«ã§ãå ¨ãæ´å°ã®ã¨ããã«ã¦ããããã¹ããæ¸ãã¨ããä½æ¥ããã£ããããããã¯å®è£ ä¸ã«ãã¦ããããã¹ããæ¸ããªãã¨ãã³ã¼ããæ¸ãæãå°ãæ»ã£ã¦ãã¾ããããã«ã¯ããã¹ãã«ä¾åãã¦ããèªåãããã ãã¦ãããæè¿ã§ä¸é£ã®ãã¹ãã®è©±ãåæ¹é¢ããåºã¦ãã¦ããããã®è°è«ã«ã¤ãã¦èå³æ·±ãæããä¸æ¹ã§ããã¨ãã°èªåã¯ããã ãã©ããå·æã«ãã¹ããæ¸ãã¦ããããã©ããããã§åã«é²ãã§ãããã ããããã¨ãã罪æªæã¿ãããªã®ãæ±ãã¦ãã人ã¨ããã®ã¯ããããªãã«ããããããªããã¨ãç¹ã«ã¦ããããã¹ããè ããã¦ããã¹ãèªä½ãè² åµã«ãã¦ãã¾ã£ã人ã§ãããªãç¹ã«ã ããæè¿ã®ãã¢ã¸ã£ã¤ã«éçºã§ãã£ããã¨ãããããã¯ããã°ã©ãã®ããã®æ¬ã¿ãããªã®ãéãããããã¨ãããã¦ããä»ã®ãã¨ã¯è¯ããããã¹ãæ¸ããã¨è¼ã£ã¦ããä¸æ¹ã§ãè¦åãã¦ã¿
ãã¹ããè¡ã£ã¦ããå質ä¿è¨¼ãã¼ã ããå®éã«ã·ã¹ãã ã使ã£ã¦ããã客æ§ããä¸å ·åãå ±åãããã¨ããããªãã¯ã©ãæãã¾ããï¼ æ²ããã ããæ¥ããããã¨æããä¸å ·åä¿®æ£ã«ããã«çæãããã¨æ°ãã¯ããã®ã人æ ã¨ãããã®ã§ããããããç¦ã£ã¦ããã¨ãã«è¡ãä½æ¥ã¯ãã°ãã°è¦éãçããä¸ã¤ã®ä¸å ·åä¿®æ£ãä¸ã¤ã®æ°ããªä¸å ·åãçãã§ãã¾ããããªãã¨ã«ãªããã¡ã§ãã ãã¹ãé§åéçºï¼TDD : Test Driven Developmentï¼ã¯ãããã°ã©ããèªåã®ä¸å®ãå æããèªåãæ¸ãã³ã¼ãã«èªä¿¡ãæã¡ãªããä¸æ©ä¸æ©é²ãã§ããããã®ææ³ã§ããä¸å ·åã®çºçã¯ã端çã«è¨ãã°ããã¾ã§ã®ãèªä¿¡ããæºããããäºæ ã§ãããã¹ãé§åéçºè ã¯ä¸å ·åã«ã©ãç«ã¡åããã®ã§ããããï¼ ãã¯ããã¹ããæ¸ãã¦ç«ã¡åãã£ã¦ããã®ã§ããç§ã¯ãã¹ãé§åéçºãæ°å¹´éå®è·µãã¦ããä¸ã§ãå¿ããã¦ããã²ã¨ã¤ã®ãæããããã¾ããããã¯ãä¸å ·åã®ä¿®æ£æ
0.åç½®ã ãã®è¨äºã¯PowerShell Advent Calender 2012ã®17æ¥ç®ã®ã¨ã³ããªã¼ã§ãã åæ¥ã¯@Chukiããã®ãActive Directoryã®ç®¡çãªã 7/R2以éã使ãã¾ããã^^ãã§ããã ä»åã¯ãPowerShellã®ã¦ããããã¹ãã®å 容ãæ¸ããã¨ææ°è¾¼ãã§ãã¾ããããªãã¨@fsugiyamaããã2011å¹´ã®AdventCalenderã§æ¸ãã¦ããã£ãããã¾ãããä»åã¯ãã£ãããªã®ã§å°å ¥ç·¨ã¯çãã¦ãããã¥ã¢ã«ã£ã½ãã¾ã¨ãã¦ã¿ããã¨æãã¾ãã 0-1.Pesterã®ç´¹ä» BDDã¹ã¿ã¤ã«ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã§ãã ã»æ¬å®¶ã®ãµã¤ãã¯ãã¡ãã®githubã§ã ã»æ¥æ¬èªã ã¨@fsugiyamaããã®Pester â BDD style testing framework for PowerShellã 0-2.ã³ã³ãã³ã ããã¥ã¢ã«ã«ãªãããã«ä»¥ä¸ã®é åº
ãã®ã¨ã³ããªã¯ PowerShell Advent Calendar 2011 ã«åå ãã¦ãã¾ãã ã¯ããã« ãPowerShellã¹ã¯ãªããã«å¯¾ãã¦ã¦ããããã¹ããæ¸ãã¦ã¾ããã¼ï¼ã ãTDD 㧠PowerShellã¹ã¯ãªãããæ¸ãã¦ã¾ããã¼ï¼ã ããã¹ãã³ã¼ããããã°ãåæ°ãæã£ã¦ãªãã¡ã¯ã¿ãªã³ã°ã§ããã ããã¹ãã³ã¼ããæ¸ãã¦ã¾ããã¼ï¼ã ã¨ã¢ã³ããã®çªæ¨ãè¨ãããã¯ããã¾ãããã PowerShellã¦ã¼ã¶ã¼ã®çããã¯ãã®è¾ºããããèãã§ããããï¼ ããããç§ã¯ãã¦ããããã¹ããæ¸ããããTDD(Test Driven Development)ã§PowerShellã¹ã¯ãªãããæ¸ããããã¦ãã¾ããã試è¡é¯èª¤ããªããã¹ã¯ãªãããæ¸ããå¾ã«ãããã¤ãã®ãã¿ã¼ã³ã§å®è¡ãããã®çµæãç®è¦ç¢ºèªããåé¡ããªãããã ã£ãããå®æâªãã¨ãè¨ã£ã¦ããå£ã§ãã ãã ãæ¸ãæ¨ã¦ã®ã¹ã¯ãªããã§ããä¸æ £ã
åç°å人ããã«ãããã¹ãé§åéçºåé¡è§£èª¬ã®å¯ç¨¿ã§ãï¼ ãã°ã®ãªãããã³ã¼ããæ¸ãã«ã¯ããããã¹ãè¨è¨ãéè¦ã§ããä»åã¯ç¾å¨æå»ã«é¢ããåé¡ã¨ããã®åé¡ã§æåºãããå®éã®è§£çã³ã¼ããç´¹ä»ããªãããã©ã®ããã«ãã¹ãè¨è¨ãéçºãã¦ããã®ãã解説ãã¦ããã¾ãã ã²ã¹ã解çã«ãã解çã³ã¼ããå ¬éä¸ï¼ by CodeIQéå¶äºåå± ã¯ããã« ããã«ã¡ã¯ãåç°(@t_wada)ã§ããä»æ¥ã¯å æ¥åºé¡ããã¦ããã ããTDDã«é¢ããåé¡ã®ç·è©ãè¡ãã¤ã¤ããã¹ã容ææ§è¨è¨ã«ã¤ãã¦èãã¦ã¿ããã¨æãã¾ãã åé¡æ ç§ãåºããåé¡ã¯ã以ä¸ã®ãããªãã®ã§ããã å1. ä¸è¨ã®ä»æ§ããã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã使ã£ã¦ãã¹ãã³ã¼ããæ¸ããªããå®è£ ãã¦ãã ããã ãä»æ§1ã ãç¾å¨æå»ãã«å¿ãã¦ãæ¨æ¶ã®å 容ãä¸è¨ã®ããã«ããããè¿ãæ©è½ãä½æãããã (ã¿ã¤ã ã¾ã¼ã³ã¯Asia/Tokyoã¨ãã) æ(05:00:00以ä¸
å æ¥ãæ¥æ¬Javaã¦ã¼ã¶ã°ã«ã¼ãï¼JJUGï¼ä¸»å¬ã®JJUG CCC 2013 Fallã§ããã¦ããããã¹ãæ¹åã¬ã¤ããã¨ããã¿ã¤ãã«ã§ç»å£ãã¦ãã¾ãããèªåã®çµé¨ãå ã«ãã¦ããããã¹ãããã¼ã ãçµç¹ã¸å°å ¥ããæã«èµ·ããããåé¡ã¨ãã®è§£æ±ºã®ãã³ãã«é¢ããã»ãã·ã§ã³ã§ããæ¬ã¨ã³ããªã¼ã§ã¯ãã®ã»ãã·ã§ã³ã®å 容ãåæ§æãã¦å ¬éãã¾ãã ã¯ããã« è¿å¹´ã®ã·ã¹ãã éçºã§ã¯ãã¦ããããã¹ããç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ï¼ä»¥ä¸ãCIï¼ã®å°å ¥ã¯å¿ è¦ä¸å¯æ¬ ã¨èãããã¦ãã¾ããã¨ã¯ãããã©ããªçµç¹ï¼ãã¼ã ï¼ã§ãç°¡åã«å°å ¥ã§ãã¦ããããã§ã¯ããã¾ãããç¹ã«ã大ããªçµç¹ãå¤ãããã®æ £ç¿ãæ®ãã¦ããçµç¹ã§ã¯å°å ¥ãããã¨ãä¸ã é²ã¾ãªãã¨æãã¦ããã¨ãããå¤ãã®ã§ã¯ãªãã§ããããï¼ã ç§ã¯ãããã¾ã§ã«å¤ãã®éçºç¾å ´ã§ã¦ããããã¹ããCIã®å°å ¥ã«ã¤ãã¦æ¨é²ãã¦ãã¾ãããæåããã±ã¼ã¹ãããã°å¤±æããã±ã¼ã¹ãããã¾ããããã¦ã失
Quick Test SwitcherãVS2012ã«å¯¾å¿ããã¾ãã ã«å¼ãç¶ããVSä¸ã§ãã¹ãã³ã¼ãã¨ãããã¯ãã³ã¼ããä¸çºã§åãæ¿ãããããã¹ããç°¡åã«å®è¡ãããããVSæ¡å¼µãQuick Test SwitcherããVS2013ã«ã対å¿ããã¾ããããªãããã®ããã±ã¼ã¸ãã¡ããVS2012ã«ã対å¿ãã¾ãã GitHubã®Downloadæ©è½ã¯ä½¿ããªããªã£ã¡ãã£ãã®ã§ãSkyDriveã«ç½®ãã¦ããã¾ãã QuickTestSwitcher â SkyDrive ã³ã¼ãã¯ä¾ã«ãã£ã¦GitHubã§ãã masaru-b-cl/QuickTestSwitcher VS2013ã§ãå¿«é©ãªTDDã©ã¤ããï¼
渡辺ã§ããããæ¹é¢ãããã¹ãç³»ã®ã¨ã³ããªã¼ãã¾ã ãâ¦ã¨å¬ä¿ãããã®ã§ãã¦ããããã¹ãã«ã¤ãã¦å°ãèãã¦ã¿ããã¨æãã¾ãã æè¿ãTwitterã®TLããã§ãã¯ãã¦ããã¨ãJUnitãå©ç¨ãã¦ããã«ãé¢ãããéåæã®ããTweetããåå ãJUnitã«ãã¦æ¬æ¥è§£æ±ºãã¹ãåé¡ããç®ããããã¦ãããããªTweetãå¤ãè¦ããã¾ããããã§ãJUnitãã«ããã¦ããããã¹ãã«é¢ãããããã¡ãªåéããã¾ã¨ãã¦ã¿ã¾ããã ãªããJUnitã®é¨åã¯ãRSpecã§ãNUnitã§ãé©å½ã«ç½®ãæãã¦èªãã§ãæ§ãã¾ããã 1.JUnitã使ããã¨ãç®çã¨ããåéã JUnitãå©ç¨ãããã¨èªä½ãç®çã«ããã¨ããã§ä½ãå¾ãäºã¯ããã¾ããã ãããã¡ãªè©±ã§ããããç´åç©ã¨ãã¦JUnitã®ãã¹ãã³ã¼ãï¼ã¾ãã¯å®è¡çµæï¼ãæ±ãããã¦ããããã¨ãçç±ã§JUnitãå©ç¨ãã¦ãããªãã°ãããã¯è¶³ããã§ãããªãå¯è½æ§ãããã¾ãã
Its purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing. What is it doing? Rhino Mocks will generate fake objects to replace the dependencies that you have, and then allow you to tell them, at runtime, how to behave. This functionality is very powerful, and it means that you can tell your fake objects,
æ¥ä»ãæ±ãå¦çã«ã¤ãã¦ããããã¾ã¨ããã¤ãã§ã«ãããã¨ç°¡åãªãã¨ã ãã©ç¥ããªãã¨è½ã¨ãç©´ã«ãããç³»ã®ãã¿ãã æ¥é ãããããªå¦çãæ¸ãã¦ãã¦ãç¾æå»ãæ±ããã¨ãã¯å°ãªããªãã¯ãã§ããã§ããããããé©å½ã«ãã£ã¦ããã¨å°ããã¨ãå¤ã ããã¾ãã å®è¡ä¸ã«ãç¾æå»ããå ã«ããå¦çãé£ãéã ä¾ãã°ãããªã³ã¼ãããã°éè¨ã¨ããã£ã¦ãã¤ã¡ã¼ã¸ã§ãã class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result
TDDã«ããã¦ã顧客ãªã©ããããã¹ãã°ããæ¸ãã¦ãã¦éã«åãã®ãï¼ããªã©ã¨è³ªåããããã¨ãããã¨æãã¾ãã ãããªã¨ãã«ã¯ãå¾ããããã£ã¨æ±ããã㦠ããããªè³ªåããã¦ããããªã ãæ£è§£ã§ãã https://twitter.com/kis/statuses/350279800600018944 ãã¹ãé§åéçºã®å¹æã¯ã©ã®ãããããï¼ â Publickey ãã¹ãé§åéçº ä½è :Kent Beckãªã¼ã 社Amazon
1. mockito ã®æºå mockito ã®ããã¸ã§ã¯ããã¼ã¸ï¼https://code.google.com/p/mockito/ï¼ã«è¡ã£ã¦ãææ°ã®ï¼ããã§ã¯ mockito-1.9.5.zipï¼ããã¦ã³ãã¼ããã¾ãã ãã¦ã³ãã¼ããã zip ãå±éãã¦ãä¸ã« jar ãã¡ã¤ã«ï¼ããã§ã¯ mockito-all-1.9.5.jarï¼ãå ¥ã£ã¦ãããã¨ã確èªãã¾ãã 2. dexmaker ã®æºå Android 㧠mockito ã使ãã«ã¯ dexmaker ãå¿ è¦ã§ãã dexmaker ã®ããã¸ã§ã¯ããã¼ã¸ï¼http://code.google.com/p/dexmaker/ï¼ã«è¡ã£ã¦ãdexmaker-1.0.jar 㨠dexmaker-mockito-1.0.jar ããã¦ã³ãã¼ããã¾ãã
年度æ«è¾ºãããã§ããããDevelopers AppKit Boxãã¨ãããµã¤ãã§ã¦ããããã¹ãã«é¢ããè¨äºãï¼ã¤ã»ã©æ¸ããã¦é ãã¾ããã ã¦ããããã¹ãã®åºç¤_Developers AppKitBox | AppTest | Developers AppKitBox ãã¹ãé§åéçºã®åºç¤_Developers AppKitBox | AppTest | Developers AppKitBox ã¦ããããã¹ããå¦ã¶ããã®æ¨è¦å³æ¸ | AppTest | Developers AppKitBox ããããå ¥éããã¹ãã§ããï¼æ¬å½ã¯ããããä¸ç´ã»ä¸ç´ã®è¨äºã«åãæããäºå®ã§ãããã転è·ã§æéãåããªããªãä¸æä¸ã§ãã»ã»ï¼ãä½ãã®åèã«ãªãã°å¹¸ãã§ãã (è¨äºã§æãããã¦ããã ããæ¨è¦æ¸ç±éã§ãããã®å TDD for Embedded Cã¯ç¿»è¨³æ¬ãæè¿åºã¦ãã¾ã)
Quick Test Switcher â ãã¹ãã³ã¼ãã¨å®è£ ã³ã¼ãã®åãæ¿ããã·ã§ã¼ãã«ãããã¼ã§ä¸çºã§è¡ã « be free ã§ç´¹ä»ãã便å©æ¡å¼µã§ãããVS2012ã«ã¯å¯¾å¿ãã¦ãã¾ããã§ããã ããã§ãGitHubã®ã³ã¼ããforkãã¦VS2012ã«å¯¾å¿ããã¾ããã Downloads · masaru-b-cl/QuickTestSwitcher · GitHub ãªããã·ã§ã¼ãã«ãããã¼ãCtrl+0ã®ã¾ã¾ã ã¨ãã¾ãåããªãã£ããããªã®ã§ãã¤ã³ã¹ãã¼ã«å¾ã«Ctrl+9ã«å¤æ´ãã¦ããã¨ããã§ãã æ¯éã試ããã ããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}