#TestingFrameworkMeeting ãéå¬ãã¾ãã
çºè¡¨è³æãtogetterã¯ä»¥ä¸ã«ããã¾ãã
https://github.com/tddbc/TestingFrameworkMeeting/blob/master/links.md
ä¹ ã ã«ãã®æ¿åº¦ã®ã¤ãã³ãã«åå ããæ°ããã¾ããâ¦ã ä»ãã£ã¦ããã¨ã«ç´æ¥åèã«ãªã話ã¨ããèãããããã®ã§å人çã«ã¯å¤§æºè¶³ã§ããã
ã¨ããããã§ç±ã«ãã¦ãããã®ã§è¨æ¶ãã¦ããç¯å²ã§æ¯ãè¿ã£ã¦ã¿ã¾ãã
t-wadaããã®çºè¡¨
ãsimplify, amplifyã§ä½ããé¡ããã¾ããã¨ãããã«ãé¡ããã¦ãã¾ã£ã¦ããã¨ãã¨ããã§è¯ãã£ãã®ãã¨æ©ãã§ããããã©ãã¾ã¼ãããt-wadaããã¨ããããæåã®çºè¡¨ã¨ãã¦ããæãã«è©±ãåºãã¦ãã ãã£ãã
è°è«ãªã©ã®æµãã§ã¢ããªãå ¥ã£ããè±ç·ãããããã®ã¯ãªããªã楽ããå±éã ã£ãã
Evolve slowly
ç§ã¯ã¦ãã¨ã¼ã«ä½ã£ã¦ã¯GitHubã«ãã¤æ¨ã¦ããã¿ããªã®ã§ãããªãã¨èãã¦ãªãã£ããã©ã確ãã«ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã¯ç·©ãããªçºå±ã®ã»ããè¯ãã¨ããã®ã«ã¯ç´å¾ã ãã ãããã§çºå±ãé»å®³ããã¦ãã¾ã£ã¦ã¯æå³ãªãã¨æãã®ã§ãé©åº¦ãªç«¶åã©ã¤ãã©ãªã¯ãã£ã¦ãè¯ãã®ã§ã¯ãªããã¨ã¯æã£ã¦ããã
Runnerã®æåãå ¨ä½çã«ãããã£ã½ã
- ãã¹ãã±ã¼ã¹ãåéãã¦
- ãã¹ãå®è¡ãã¦
- ã¬ãã¼ããåºåãã
RUnnerã¨ãã¦ã¯ãã®æµãã主æµã ãã©ããã£ã¨incremental(?)ã«ãããã®ã§ã¯ã¨ãã話ã(ãããJUnit5ã®è©±ã®æµãã§)ããã¦ã確ãã«ãã®é¨åã¯ã©ã®è¨èªã§ãããã¨è¸ä¸ãã¦ãããªã¨æããã ããã¦ãªããªãæãåºãã¥ããå ´æã§ãããããâ¦ã
ä½è«
ã·ã³ãã«ãªæ¹åã«ä½ã人ãã¡ã£ã¦ã©ãããæã«Coreã«æ©è½ã追å ããã®ã ãããã¨åã ããæã£ã¦ãããã©ã話ãããã質åãã¦"Coreã¨ããåå¨ã¯ãªããå°ããªåã©ã¤ãã©ãªã«ä¾åæ§ããã"ã¨ããè¦æ¹ãããã®ãè¯ãè½ã¨ãæãªã®ããªã¨å人çã«çµè«ä»ããã
ãã¨power-assertãéè±èªåã§æµè¡ã£ã¦ãã¨ããã®ã«å¦ã«ç´å¾ããã
Goã¨ãã¹ã
tenntennããã®è¬æ¼ã Goã®ãã¹ãã«å ãã¦Goæåã®è©±ãèãã¦è¯ãã£ãã
æ¨æºããã±ã¼ã¸ã¨ãã¦è²ã æã£ã¦ãã
ããã¯å¾æ¹äºæãéè¦ããè¨èªã§ããã°å¼·ã¿ã ããã ãªã«ãããã»ã©ã®ãã¨ããªãéãå ¬å¼ãã¡ã³ãããã®ã ããã
ifã¨assertion
- Goã®testingã©ã¤ãã©ãªã«ã¯assertionããªã
- ifæãæ¸ãã¦ãã¹ãã«å¤±æããæã¯Errorfãªã©ãè¿ã
ã¨ããã®ã«å¯¾ãã¦
- assertionãã±ã£ã¨è¦ã©ãã«ããã®ããããã¥ãã
ã¨ããè¿ãããã£ãã®ã¯ãç§ã«ã¯ãªãã£ãçç¼ç¹ã ã£ãã å人çã«ã¯ifãassertionããããªã«å¤ãããªãæ°ããã¦ããããéåæãã人ã¯ããã®ã ããã
ããã¦æ©è½ãå°ãªããããã¨ã§ä½ãèµ·ãããå®é¨ãããã®ã§ã¯
ã¿ãããªæè¦ããã£ãã æ¨æ¸¬ã®åãåºãªããã©èå³æ·±ãèå¯ã ã¨ã¯æãã®ã§ãä»å¾ãè¦å®ããããã®ã§ããã
Lint
Kuniwakããã®è¬æ¼ã ç§ã¯å人ããã¸ã§ã¯ãã§ã¯ãã¾ã使ã£ã¦ããªãããä»äºã§ã¯ãä¸è©±ã«ãªã£ã¦ããã®ã§æè¿ã®ååãªã©ãå«ãã¦è²ã ããã¦æºè¶³ã
"å¤æ°åã®typoãåä½ãã¹ãã§çºè¦ããã®ã¯é ããã"
éçåä»ãè³ãªç§ã¨ãã¦ã¯ãããããã¯ã°ã©ã¦ã³ãã§ã¤ã³ã¯ãªã¡ã³ã¿ã«ã³ã³ãã¤ã«ãã¦ããã°ãã¨æããªãããªãããåçåä»ãã ã¨ç¢ºãã«ãã®åé¡ã¯ããã®ãããããªãã
çååãã¼ã«
ãã®è©±ãããã¦ããã¤ã¦mzpããããæ©æ¢°çã«èª¿ã¹ããããã®ã¯æ©æ¢°ãåæã«ä¿®æ£ãã³ããããã¦ãããã¾ã§è¡ãã°ãããããçãªãã¨ãä»°ã£ã¦ãããã¨ãæãåºããã
èªã¿æã®ã¿ã®çååã ãã§ãªãæ¸ãæã®çååããã¨ããã®ãä»å¾æ¥ççãªæµãã«ãªã£ã¦ããããããªãã®ã§ã¯ãªãã ãããã
Lintã¨ãã¹ãã¬ãã¼ã ã¯ã¼ã¯ãå ±éå
Runnerãå ±éåããã¨ããçºæ³ã¯ç§ã«ã¯ãªãã£ãèããªã®ã§æ°é®®ã ã£ãã ã©ã®ãããæ°é®®ã ã£ããã¨ããã¨ãç¿æ¥ãã F# 㨠Scala ã®èªä½ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã«ãã®æ©è½ãçµã¿è¾¼ããã試ãã¦è¦ãç¨åº¦ã«ã¯ã
ã±ã£ã¨èãã¦ã¿ãéãåççã«ã¯ãããããªã ããã©ãã¾ã§ãã«ããã§ã¼ã³ãè¤éã«ããã«çµã¿è¾¼ããã¯ã¡ãã£ã¨èããå¿ è¦ãããããã ã¨ã¯æã£ã¦ãã
ASTã«ã«å«ã¾ããªãæ å ±ã¯ã©ãããï¼
- å ·è±¡æ§ææ¨ãlintã®å¯¾è±¡ã«ãã
- ãã¼ã¯ã³åãçµã¿åããã
ã¨ãããã¿ã¼ã³ãåå¨ããã¿ãã(åè ã¯ããå®é¨çå¾åãã¾ã å¼·ãããã«æãã®ã ãã©ããªã®ã ãã)ã
ä½è«
ãPythonã§VimScriptã®Lintä½ã£ã¦ã¾ãããGoã§Luaã®Lintä½ã£ã¦ã¾ããã®ä¼è©±ãå人çã«ããã ã£ãã
QuickCheck(ã¨ããåã®ãã¹ãåæ + Property Based Testing)
ç§ã®çºè¡¨ã ããã¾ãè±ç·ãã¾ããã¨ããç¶æ³ã«ãªã£ãã
power assertã«åéããã
æµè¡ã«ã¯ããã¦åéããããªããã¨ãããã®ã§ããããããã¨ãèãã¦ãã¾ããã¨ãã話ãã¡ããã£ã¨ãã¦ããã æéããã£ãããã£ã¨è©±ãããã£ããã©æ¬é¡ã§ã¯ãªãã£ãã®ã§æ³£ãæ³£ãã¹ãããããã
ãã¹ãã®åæ
ããã§è²ã ã¨è±ç·ãã¦ãã
- ãã¹ãã®åæã¨ã¯ãªããã
- ååºã§ã¯ãªããããããæããããèãã ã¨ã¯æããã©åºå ¸è¦ã¤ããããâ¦
- ãã¹ããççµåã«ãªããªãã®ã§ã¯ãªãã?
- ççµåã¨ãã¹ãå®è¡é度ã®ãã©ã³ã¹æ¬¡ç¬¬ã ã¨æã£ã¦ãã
- 話ãæãããã¨
- unitãå¼æ°ã«åãåããã¹ãã±ã¼ã¹ãæ»ãå¤ã¨ããé¢æ° -> å¯ä½ç¨ãå å ãã
- å¤æ°ã«æç¸ããããã¹ãã±ã¼ã¹ -> å¯ä½ç¨ãæããªã or ä¸åº¦ããå®è¡ããªã
- ãã®ãããã¯è¨èªã«ãããããããªãâ¦?è¦æ¤è¨¼
ã¨ãã¸ã±ã¼ã¹ã®è©±
- ã ããã人éã§ãããããããªé¨åã®ã¨ãã¸ã±ã¼ã¹ããçºè¦ã§ããªããã
ããã¯ä¸çãããã©ãã§ãçµé¨çã«äºæ³å¤ã®ãã¹ã失æã«ééãããã¨ããã身ã¨ãã¦ã¯
æ§è³ªèªä½ãééã£ã¦ãã¾ããªã¹ã¯ãã©ããã£ã¦æ¸ãã?
ããã¯é£ããåé¡ã ã¨æã£ã¦ããã å人çã«ã¯ã
- ããããäºä¾ããæ§è³ªãå¼ã£å¼µã£ã¦ãã
- ãã¥ã¼ãã¼ã·ã§ã³ãã¹ã
- æåã¯ã¦ããããã¹ãã§æ ä¿ããããç¨åº¦ã§ããããã ã¨å¤æãããå ¥ãæ¿ãã
- ã¨ã©ã¼å¨ãããæ»ãã
- ã¨ã©ã¼ç³»ã¯å ¥åéåãä½ãããããã¨ãå¤ããæ§è³ªã"ã¨ã©ã¼ã«ãªã"ã§çµãããããããã
ãããã ã¨æã£ã¦ããããæ ¹æ¬çæéçã«ãªã£ã¦ããªãã®ãå³ããã¨ããã§ã¯ããã
ããã¯ããã§ã¹ãã«ããã
æ§è³ªãå°ãåºãããã¯å人ã®ã¹ãã«ã«ããã®ã§ãæ £ãã¦ããªãã¨ãã¼ã å ¨å¡ã§ä½¿ãã®ã¯å³ããã®ã§ã¯ãªããã¨ããææ(ã¨ãããåå è ã®ææ³)ã
ããã¯ææéãã ã¾ããæåã¯ãªãã¡ã¯ã¿ãªã³ã°ã®éã«å°å ¥ããã¨ãã§æ £ãã¦ãããããªãã®ã§ã¯ãªãã§ããã¼ãã
Serverspec
mizzyããã®è¬æ¼ã OSSã«å¯¾ãã姿å¢ãªã©ãããã¦è¯ãå¦ã³ããã£ãã
Assurerã¨Serverspecã®ææ³ã®éã
å®è£ åæ©ãç°ãªãã¨ããã¾ã§ç°ãªããããã¯ãã«ãªãã®ã ãªã¼ã¨ã
ãªãRSpec?
- å¼·ããã ãããããããã§ã¯ãªã
- éæ¬è³ªçãªãã¨ã«ã¯æ¯ãåãããããªã
éæ¬è³ªçãªãã¨ã«æ¯ãåãããããªãã¯ããªãåæã ã¨ã¯ããã絶対ã«æ¯ãåãããªãã¯å³ããã¨æãã®ã§ã©ãã¾ã§æå°éã«ã§ãããã©ãããªã®ãããªãã¨ã
å¿ç¨çãªè¦³ç¹
ãã¹ããã¤ã³ãã©ã®æ¹é¢ã«ãã£ã¦ããããã¤æ·å± ãä½ãããã¨ããã®ãå®æã§ããçºè¡¨ã ã£ãã
éæ
- ããã§ãUNIXå²å¦ã®è©±ã
- ãã¹ããã¾ãé¢ä¿ãªããã©ã人æ°ã©ã¤ãã©ãªéçºè
ã®ãæ©ã¿ç¸è«çãªé¨åã観ããã®ã¯ã¨ã¦ãè¯ãã£ã
- ãã£ã±ãè¦å´ãã¦ããé¨å*1ã¯ããã®ã ãªããã¨
- é·æéã¡ã³ãããã¦ãªããªã½ã¼ã¹ã¯ã©ããã¦ããã®ï¼ -> ã³ããããã人ã«pingéã£ãããã¦ãåå¿ãªããªãæ¶ã(ã¡ãã£ã¨ããèãæããã®ã§ãããããã¥ã¢ã³ã¹ã ã£ããæªããã§ãâ¦)
- è¥å¹²java-ja OSSç·¨å åããã¦ãã¾ã£ãæãããã©é¢ç½ãã£ã!
é£ã³å ¥ãçºè¡¨
é£ã³å ¥ãã§ESDocãoktestã®è©±ãèãã¦ã大å¤åèã«ãªã£ãã ãã®è¾ºãã¯æãã¨ããããã£ãã®ã§ã¡ãã£ã¨ã©ã¤ãã©ãªã«æãå ããããã¦ã¿ã¦ããã
æ親ä¼ã§ã®è©±
ç¹ã«è¨æ¶ã«æ®ã£ã¦ãã話ãç®æ¡æ¸ãã§ã
- æ¯ãã(å®å®ãã)ã©ã¤ãã©ãªãæçµæ´æ°ã§å¤æãããã®ã¯ãªããéãæ°ããã
- GitHubã®starãææ°ã³ããããç®ã«ã¤ããããã®ã§ç¡æèã»æèçã«èªå°ããã¦ãã¾ãï¼
- ã©ã®ç¨åº¦ä½¿ããã¦ãããã«æ³¨ç®ã§ããã°è¯ãã®ããï¼äººæ°è¨èªã¾ã¨ãã¨ããã©ããã®å£ä½ãåæã«ãã£ã¦ãããã ã
- ä¿¡é ¼åé¡
- Python2ããPython3ã«ç§»è¡ã§ããªãçç±ã¨ã
- 人ã¯èªåã使ã£ã¦ããè¨èªãæè·ããããã«åãå¾åããã
- ãã¤ã¦Javaã«closureãinterfaceã®ããã©ã«ãå®è£ ã¯ãããªãã¨ããä¸æ´¾ããããããããä»ãå½¼ãã¯lambdaãããã©ã«ãå®è£ ãæ¨ãé²ãã¦ãã
- ãªããµã¤ãã«ã¼ã«ãå¦å®çã«ã¿ãRubyistãã¿ãããããã«ãã®äººãã¡ã¯coffee使ããã
- (å人çã«ã¯æ°å¹´çµã¦ã°èããå¤ããããã¨ã¯æã£ã¦ããã©ãã®å ´ã§è¨ãå¿ãã¦ã)
- DBã»ããã¢ããã®ãã¹ã
- Serverspecçãªãã®ãDBã«ãå¿ç¨ã§ããªãã ããã
- DBçéã¨ã½ããã¦ã§ã¢çéã®ç©ºæ°ã®éã?çãªè©±
- æ親ä¼è²»ãä½ã£ãã®ã§JUnitã«å¯ä»ãããã¨ã«ãã
- ãã¤v1.0.0ããªãªã¼ã¹ããã
- ããããããã¨ãºã«ãºã«ãã£ã¦ãã¾ã
- 対象ç°å¢ãå¤ãã¨ã©ãã¾ã§å¯¾å¿ãã¦ãããªãªã¼ã¹ãã¹ããæ©ã¾ãã
- æä½éã¨ããåºåããè¨ãã/ç· åé§åéçºãªã©ã§æéå¼ã«ããã¨ã
furiosaãawsspecã®è©±ãããã¦æºè¶³ã
次åããã¨ããã
ãããããããªããã©ãã®è¾ºãé¡æã«ããã£ã¨å¹³æ¥å¤ã«ãããªãããª(è°è«ããããèãããã¨ããããã®è²´æ¹ãçºè¡¨è æ¢ããæä¼ã£ã¦ããã ãã¾ããã? or çºè¡¨è ã«ãªãã¾ããã?)
- 1ã¡ã½ãã1ã¢ãµã¼ã·ã§ã³
- ããã¥ã¡ã³ãã¨ãã¹ãã®é¢é£æ§
- doctestã®è©±ãã¡ãã»ãã§ãããé£ã³å ¥ãã§ESDocã®çºè¡¨ããã£ãã®ã§ããã£ã¨æ·±å ãããã
- power assert
è¬è¾
ä¼ç»ã«é¢ãã£ã¦ãã ãã£ãçæ§ãçºè¡¨è ã®æ¹ã ãä»ã®ã¤ãã³ãã¨è¢«ãã¾ãã£ã¦ããã®ã«æ¬ã¤ãã³ãã«è¶³ãéãã§ãã ãã£ãçæ§ã«æè¬ãã¾ãã çæ§ã®ãããã§ãã¨ã¦ãæ義ã®ããã¤ãã³ãã«ãªãã¾ããã
ããã¦mixiããã¨Kuniwakãããææ©ãããå¤é ãã¾ã§ä¼å ´æºåæ¤åãããã¨ããããã¾ããã ã¨ã¦ãæ°æã¡ããã¤ãã³ããè¡ãã¾ããã
*1:ã¨ãããå¿ã®èè¤?