åºå
ž: Dev.to Java åäœãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè
ãã¢ããªã±ãŒã·ã§ã³ããã®ä»ã®ãœãããŠã§ã¢ãäœæããããã®ãæšæºçã§æŽç·Žãããæ¡åŒµå¯èœãªããŒã«ãæäŸããŸãããããã¯ãäºåã«èšè¿°ãããã³ãŒããå«ãå€æ°ã®ãªããžã§ã¯ãã§æ§æãããŸãããã¹ã ãã¬ãŒã ã¯ãŒã¯ã®éžæã«å¿ããŠãã©ã€ãã©ãªãã³ã³ãã€ã©ãããŒã«ãAPI ãå«ãŸããŸããJava åäœãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã«å
ç¢ãªã»ãã¥ãªãã£å¶åŸ¡ãæäŸããŸããã»ãã¥ãªãã£ã®è匱æ§ãèŠã€ãã£ãå Žåã¯ããã¬ãŒã ã¯ãŒã¯ã® Web ãµã€ã/ãµããŒãã§ä¿®æ£ã§ããŸãããã¬ãŒã ã¯ãŒã¯äœæè
ã¯ãããã°ã©ããŒããã¹ã¿ãŒã®å¹çãšé床ãåäžãããçµã¿èŸŒã¿é¢æ°ãã¢ãžã¥ãŒã«ãæäŸããŠããŸãããã® 10 幎éããã¹ã ãã©ãããã©ãŒã ã«ã¯äœãæåŸ
ã§ããã§ãããã? 2020 幎ã®æç¹ã§æé«ã® Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã®ãªã¹ãã玹ä»ããŸãã
1.JBehave
JBehave ã¯ã BDD (Behavior-Driven Development) ããµããŒãããæé«ã® Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã§ããBDD ã¯ãTDD (ãã¹ãé§åéçº) ãš ATDD (åãå ¥ããã¹ãé§åéçº) ã®é²åã®ç¶ç¶ã§ãã Jbehave ã®äž»ãªãã£ã¹ããªãã¥ãŒã·ã§ã³:- JBehave Webã
- JBehave ã³ã¢ã
- Commons-lang-2.4.jar
- Junit-4.1.0.jar
- Jbehave-core-3.8.jar
- Freemark-2.3.9.jar
- Plexus-utils-1.1.jar
- Paranamer-2.5.jar
- org.apache.commons.collections.jar
- org.apache.commons.io.jar
- JBehave ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ããã®ææ ®æ·±ã詳现ãšçŽæçãªäœ¿ããããã®ãããã§åªããŠããŸãã
- JBehave 㯠BDD ã«ãšã£ãŠçŽ æŽãããä»äºããã䌌ãä»æ§ãæã€ç°ãªããããžã§ã¯ãã«åãçµãã§ããå¥ã ã®éçºããŒã éã®çµ±åãæäŸããŸãã
- JBehave ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ã«ãšã£ãŠéåžžã«åœ¹ç«ã€æºå ¬åŒèšèªã䜿çšããŸãããã¡ã€ã³èªåœã«ãããããŒã æ§é ã®äžè²«æ§ã確ä¿ãããŸãã
- ä»æ§ãåã圢åŒã«åŸã£ãŠãããããé¢ä¿è ã ãã§ãªããããžã§ã¯ã ãããŒãžã£ãŒãããã¹ã ããŒã ãšéçºããŒã ã®ããã©ãŒãã³ã¹ã«å¯Ÿããéææ§ãé«ãŸããŸãã
2.JUnit
JUnitã¯ãåäœãã¹ãã®å®è¡ãããã°ã©ãã³ã°ã®é«éåãJava ã³ãŒãã®å質ã®åäžãç®çãšããŠãäž»ã«çµéšè±å¯ãªéçºè ã«ãã£ãŠäœ¿çšããããªãŒãã³ãœãŒã¹ã®ååž°ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ãããã®ããŒã«ã䜿çšããäž»ãªç®çã¯ãJava éçºè ãå埩å¯èœãªãã¹ã ã±ãŒã¹ãã¹ã¯ãªããåããŠå®è£ ã§ããããã«ããããšã§ããããã¯ãJava ã§æãäžè¬çã«äœ¿çšãããåäœãã¹ã ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã§ããã»ãšãã©ã®å ŽåãJUnit ã¯å°ããªã³ãŒãéšåããã¹ãããããã«äœ¿çšãããŸãããŸããSelenium WebDriver ãšèªå Java ãã¹ãçšã® JUnit ãçµã¿åãããŠãèªå Web ãµã€ã ãã¹ããå®è¡ããããã«äœ¿çšããããšãã§ããŸããæ°ããã³ãŒããè¿œå ãããšãããã¹ã¿ãŒã¯å®å šãªãã¹ã ã±ãŒã¹ãåããŒãããäžæããªãããšã確èªããããã«æ±ããããŸãã JUnit ã®æ©èœ:- ãã¹ãã¹ã€ãŒãã
- ãªããžã§ã¯ãã®å ±éã»ããã䜿çšããã
- JUnit ã¯ã©ã¹ã
- ãã¹ãã©ã³ããŒã
- ã³ã³ãã¥ãŒã¿ã«ææ°ããŒãžã§ã³ã® JDK ãã€ã³ã¹ããŒã«ããŠãã ããã
- (ãªãã·ã§ã³) $JUNIT_HOME/src ã解åããŸããjarãã¡ã€ã«ã
- ãªããžã§ã¯ãæåèšèª (ã§ããã° Java) ã§ã¢ããªã±ãŒã·ã§ã³ãéçºããã¹ãã«ãšçµéšã
- JUnit ã®æ°ããããŒãžã§ã³ãããŠã³ããŒããããã¬ãŒã ã¯ãŒã¯ãæ§æããŸãã
- JUnit 㯠Java 8 ã®æ©èœããµããŒãããŠãããããçµ±åãã¹ããšåäœãã¹ãã®äž¡æ¹ã«äœ¿çšã§ããŸãã
- ãã®ãã¬ãŒã ã¯ãŒã¯ã«ãããåæ段éã§ã®ãšã©ãŒã®æ€åºã容æã«ãªããå¥å šã§ä¿¡é Œæ§ã®é«ãã³ãŒããåŸãããŸãã
- JUnit ã䜿çšããããã°ã©ãã¯ãJUnit ãéåžžã«äŸ¿å©ã§ãããšæããŠããŸããã³ãŒããèªãã§è匱æ§ããã§ãã¯ããããšã容æã«ãªããŸãã
- JUnit ã䜿çšãããšããšã©ãŒããªãèªã¿ãããã³ãŒããäœæã§ããŸãã
- EclipseãNetBeansãMavenãAntãIntelliJ IDEA ãªã©ãã»ãŒãã¹ãŠã®äž»èŠãª IDE ãšäºææ§ããããŸãããããã£ãŠããããã® IDE ããçŽæ¥åäœãã¹ããç°¡åã«äœæããŠå®è¡ã§ããŸãã
- JUnit ã®æŽæ°ããŒãžã§ã³ (ããŒãžã§ã³ 5) ã䜿çšãããšãäŸå€ãç°¡åã«å®çŸ©ã§ããŸãã
- åäœãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ãJava 5 ãŸãã¯ä»ã®ããŒãžã§ã³ã§äœ¿çšã§ããŸãã
3. éãã
Serenity (以å㯠Thucydides ãšããŠç¥ãããŠããŸãã) ã¯ãæãåºã䜿çšãããŠãããªãŒãã³ ãœãŒã¹ Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã§ããSerenity BDD ãã¬ãŒã ã¯ãŒã¯ã¯ãæ確ã§æ§é åããã管çå¯èœãªãã¹ãåºæºãäœæããã®ã«åœ¹ç«ã¡ãŸããSelenium WebDriver ãš JUnit ã®äž¡æ¹ã®æ©èœãæ¡åŒµããŸãããã®ç¹æ®ãªãã©ãããã©ãŒã ã䜿çšãããšãèšè¿°çãªãã¹ã ã¬ããŒããäœæã§ããŸããããã«ãèªåãã¹ããããŒãºã«åãããããšãã§ããŸããå šäœãšããŠããã®ãã¬ãŒã ã¯ãŒã¯ã«ãã Java éçºã®ä¿¡é Œæ§ãšå¹çãåäžããŸãã éå¯ã®ç¹åŸŽ:- ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã
- ãã¹ããšå®è£ ã®çµæã«é¢ããå®å šãªã¬ããŒãã
- åãã¹ãã®ããžãã¹åœ¢åŒã¬ããŒãã
- JDK5以éã
- Maven 3.0 以éã
- IDE (é垞㯠Eclipse)ã
- ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã¹ã¿ãŒã REST ãµãŒãã¹ã®ãã¹ã ã±ãŒã¹ãäœæããã®ã«åœ¹ç«ã¡ãŸãã
- ãã¹ã ã±ãŒã¹ã®èª¬æãšç解ãããã³ãã®å®è£ ãžã®ã¢ãããŒãã®éã®ãã©ã³ã¹ãç¶æããŸãã
- ãŠãŒã¶ãŒã¯ãç¬èªã®èªååã€ã³ãã©ã¹ãã©ã¯ãã£ã®ä¿å®ãäœæã«è¿œå ã®æéãè²»ããå¿ èŠã¯ãããŸããã
- Serenity ã¯ãSpring ãªã©ã®ããŸããŸãªéçºãã¬ãŒã ã¯ãŒã¯ããSeleniumãJBehave ãªã©ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ãããã« JIRA ãªã©ã®ãããžã§ã¯ã管çããŒã«ãšçµ±åã§ããŸãã
4.ãã¹ãNG
TestNG ã¯ãçµ±åãã¹ããæ©èœãã¹ããåäœãã¹ãã«äœ¿çšãããæã人æ°ã®ãã Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã§ãããã㯠2004 幎㫠Cedric Beist ã«ãã£ãŠäœæãããçŸåšã¯ããŒãžã§ã³ 7 ã«æŽæ°ãããŠããŸããJUnit ãã¬ãŒã ã¯ãŒã¯ã®äž»ãªç«¶åçžæã§ããTestNG 㯠JUnit ã«äŒŒãŠããŸãããJunit ã§ãµããŒããããŠããªã泚éãšæ©èœãããã€ããããŸããTestNG ã¯ããšã³ãããŒãšã³ããåäœãçµ±åãæ©èœãªã©ãã»ãŒãã¹ãŠã®çš®é¡ã®ãœãããŠã§ã¢ ãã¹ãã§äœ¿çšã§ããŸããTestNG ãš JUnit ã¯ã©ã¡ãã Java ããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ããã¹ããäœæããŠæçµçµæãæ€èšŒã§ããŸãããã¹ããæåããå Žåã¯ç·è²ã®ããŒã衚瀺ãããããã§ãªãå Žåã¯èµ€è²ã®ããŒã衚瀺ãããŸãã TestNG ã®ç¹åŸŽ:- äŸåããã¡ãœããã®ãã¹ãããµããŒãããŸãã
- æè»ãªãã¹ãæ§æã
- å ç¢ãªå®è¡ã¢ãã«ããµããŒãããŸãã
- æè»æ§ãé«ããããã« BeanShell ã«ã€ã³ã¹ããŒã«ãããŸãã
- ææ°ã® JDK ããŒãžã§ã³ã
- Eclipse ã®ææ°ããŒãžã§ã³ã
- Java ããã°ã©ãã³ã°èšèªãŸãã¯ãã®ä»ã®ãªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªã®ç解ãšå®è·µçµéšã
- è€æ°ã®ã³ãŒããã©ã°ã¡ã³ãã®äžŠåãã¹ããäœæããŠå®è¡ã§ããŸãã
- ãã¹ã ã±ãŒã¹ãå®è£ ãããšãã«ãHTML 圢åŒã§ã¬ããŒããçæã§ããŸãã
- ãã¹ãã¯ãåªå é äœã«åŸã£ãŠç°¡åã«æŽçããã³ã°ã«ãŒãåã§ããŸããå€éšãã¹ããããŒã¿ããŒã¹ ãã¹ããè¡ãããã®ãã¬ãŒã ã¯ãŒã¯ãå°å ¥ããã ãã§ããã¹ãã®å®è¡ãã¯ããã«ç°¡åã«ãªããŸãã
- åªå é äœã¯ãããŒã¿ããã©ã¡ãŒã¿åãã泚éã䜿çšããããšã§ç°¡åã«èšå®ã§ããŸãã
5.ã»ã¬ãã
Selenide ã¯ãSelenium WebDriver ãå©çšãã人æ°ã®ãªãŒãã³ãœãŒã¹ Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ããããã¯ãJava ã¢ããªã±ãŒã·ã§ã³çšã®æ£ç¢ºã§éä¿¡æ§ã®é«ãå®å®ãã UI ãã¹ããäœæããããã®åªããããŒã«ã§ããWebDriver ãš JUnit ã®æ©èœãæ¡åŒµããŸããWebDriver ã¯ç§ãã¡ã®ãæ°ã«å ¥ãã® UI ãã¹ã ããŒã«ã® 1 ã€ã§ãããã¿ã€ã ã¢ãŠãæ©èœããããŸãããããšãã°ãAjax ãªã©ã® Web ãã¯ãããžãŒã®ãã¹ãã§ããSelenide ãã¬ãŒã ã¯ãŒã¯ã¯ãããããã¹ãŠã®åé¡ãç°¡åã«åŠçããŸããããã«ãã€ã³ã¹ããŒã«ãšåŠç¿ãç°¡åã§ããããžãã¯ã«éäžããã ãã§ãæ®ã㯠Selenide ããã£ãŠãããŸãã ã»ã¬ããã®ç¹åŸŽ:- è€éãªã»ããã¢ããã¯å¿ èŠãããŸããã
- 倧éã®ã³ãŒããèšè¿°ããå¿ èŠã¯ãããŸããã
- æéãå€§å¹ ã«ç¯çŽã§ããŸãã
- Jenkins ãªã©ã® CI ããŒã«ã«æé©ãªæ§æã
- JDK 5以éã
- Maven 3.0 ãŸãã¯ä»ã®ããŒãžã§ã³ã
- çµ±åéçºç°å¢ (IDE) ããŒã«ãã»ãšãã©ã®å Žåããã¹ãŠã®éçºè 㯠Eclipse ãš Maven ãçµã¿åãããæ¹ãäœæ¥ãç°¡åã§ãããããEclipse ã奜ã¿ãŸãã
- Selenide ã¯ãã¹ããæ£ç¢ºãã€å®å®ããã(ã»ãŒ) ãã¹ãŠã® Ajax/ã¿ã€ãã³ã°ã®åé¡ã解決ããŸãã
- ãã¹ãã±ãŒã¹ãäœæããããã»ã¹ãåæžããŸãã
- AngularJS ã䜿çšããŠéçºãããã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã®ãµããŒãã
- ä»ã® Selenium ããŒã«ã§ä»¥åã«äœ¿çšãããŠããã³ãã³ãã®æ°ãæžãããŸãã
6. ã²ãŒãž
Selenium Thoughtworks ã®äœæè ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ã§èªåãã¹ããå®è¡ããããã®å¥ã® Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ããªãªãŒã¹ããŸãããGaugeã¯ãJava çšã®ç¡æã®ãªãŒãã³ãœãŒã¹ ãã¹ãèªååãã¬ãŒã ã¯ãŒã¯ã§ãå°ãªãã³ãŒãã§åãå ¥ããã¹ãã®è² æ ã軜æžããŸããããã¯ãã¢ãã€ã« Web ãµã€ãããã¹ãããããã®æè¡ã¹ã¿ã㯠ã«ããŽãªã§æãäžè¬çã«äœ¿çšããã Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããèªåãã¹ãã§ã¯ãèšèªã«é¢ä¿ãªãèªã¿ããããã¹ããäœæã§ããŸããSelenium ãšåæ§ã«ããã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã¯ãRubyãJavaScriptãJavaãC#ãPython ãªã©ã®è€æ°ã®ããã°ã©ãã³ã°èšèªããµããŒãããŠããŸãã ã²ãŒãžã®æ©èœ:- 䜿ããããæè»ãªæ§æã
- ããžãã¹ã©ã€ã¯ãªèšèé£ãã䜿çšããŸãã
- è€æ°ã®èšèªãšãã©ãããã©ãŒã ããµããŒãããŸãã
- ããããã®ãã©ã°ã€ã³ã
- MavenãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
- ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã Microsoft Windows 10 以éã
- ã¡ã¢ãª â 512 MB RAM (æå°)ã
- Gauge ãã©ã°ã€ã³ã¯çµ±åéçºç°å¢ (IDE) ã§æ§æããå¿ èŠããããŸãããŸãã¯ãCMD/ã¿ãŒããã«ãããã¹ããå®è¡ããå Žå㯠Gauge ãã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- ã¹ã¯ãªãããèªã¿ããããç解ããããããŸãã
- 䜿ããããæè»ãªæ§æã§ãããããçš®é¡ã®èšèª (JavaãJavaScriptãC#ãRubyãPython ãªã©) ãšãã©ãããã©ãŒã ããµããŒãããŸãã
- éžæããçµ±åéçºç°å¢ (IDE) (IntelliJãVi VS CodeãVisual StudioãMavenãGradleãEclipse ãªã©) ã§ãã¹ããäœæã§ããŸãã
- 䞊è¡ãã¹ããå®è¡ããã«ã¹ã¿ã ã¬ããŒããçæããŸãã
- é«ã粟床ãšå¯èªæ§ãç¶æããªããã倧èŠæš¡ãªããŒã¿ã»ãããç°¡åã«ãã¹ãããŸãã
- Gauge ã¯æ°ãããã¬ãŒã ã¯ãŒã¯ã§ããããããŠãŒã¶ãŒã¯ããã«ã€ããŠããŸãç¥ããŸããã
- Gauge ã¯ããã©ã€ããŒãéçã§ãããã¹ã¯ãªãããšçµã¿åãããŠäœ¿çšââããå¿ èŠããããããIntelliJ å ã®ä»æ§ã®å®å šãªäžŠåå®è£ ããµããŒãããŠããŸããã
7. ã²ã
Geb ã¯ãSelenium WebDriver äžã«æ§ç¯ããããã©ãŠã¶ ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ããããã«ãããèªåãã¹ãã«æé©ãšãªããWebDriver ããµããŒããããã¹ãŠã®ãã©ãŠã¶ã§ã¯ãã¹ãã©ãŠã¶ ãã¹ããç°¡åã«å®è¡ã§ããŸããGeb ã¯ãããã³ããšã³ã ããŒã¿åæãWeb ãã¹ããªã©ã«åªããæ©èœãæäŸããŸãããããäŸå€çãªãã®ã«ããŠããã®ã¯ãHTML ããŒãžãã¯ãšãªããŠãjQuery ã®ãããªæ§æãçæããæ¹æ³ã§ããGeb ãã©ãããã©ãŒã ã¯ãããŒãž ãªããžã§ã¯ã ã¢ãã«ã®ãã€ãã£ã ãµããŒããæäŸããŸããGeb ã¯ãäžè¬çãªã¹ã¯ã¬ã€ãã³ã°ãã¹ã¯ãªããäœæã®ã»ããèªååã«ã䜿çšã§ããŸããTestNGãJUnitãSpock ãªã©ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ãšã®çµ±åã«ãããåãå ¥ããã¹ããWeb ãã¹ããæ©èœãã¹ãã®ãœãªã¥ãŒã·ã§ã³ãšããŠãåæ§ã«é©ããŠããŸãã Gebã®ç¹åŸŽ:- jQuery æ§æãå®å šã«ãµããŒãã
- Apache ã©ã€ã»ã³ã¹ 2.0;
- WebDriver ãšäºææ§ããããŸãã
- ããŒãžãªããžã§ã¯ãã¢ããªã³ã°ã®å®å®æ§ã
- ã°ã«ãŒãŽã£ãŒãªã¢ãŒãã£ãã¥ã¬ãŒã·ã§ã³ã
- Maven ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- Java 8以éãå©çšå¯èœã
- LambdaTest ã®èªèšŒããã³æ€èšŒè³æ Œæ å ±ã
- Geb ãã¹ãèªååãã¬ãŒã ã¯ãŒã¯çšã®GitHubäžã®LambdaTestãªããžããªã®ã³ããŒã
- Page Objects ãã©ãŒã ãš Geb ã® Groovy DSL ã«ããããã¹ãã¯å€ããå°ãªããè±èªã«äŒŒãŠãããããèªã¿ããããªããŸãã
- ãã¹ããé«éã«å®è¡ãããã¹ãã®ã³ã¹ããç¯çŽããŸããInternet ExplorerãHTMLUnitãFirefoxãChromeãªã©ã®åçš®ãã©ãŠã¶ã«å¯Ÿå¿ããŠããŸãã
- ãŠãŒã¶ãŒã芳å¯ãããããªå®éã®ç°å¢ã§ããªã¢ã«ã¿ã€ã ã§ãã¹ããå®è¡ããŸããåäžã®ã¹ã¯ãªããå ã§ãã¹ãã®å¹çãæ倧éã«é«ããŸãã
- ååž°ãã¹ããåé¡ãªãå®è¡ã§ããŸããGeb ãã¹ã ã±ãŒã¹ãå®è¡ããŠãã¢ããªã±ãŒã·ã§ã³ã®å€æŽãŸãã¯ä¿®æ£åŸã«ã¢ã¯ãã£ããªæ©èœãå£ããŠããªããã©ããã確èªã§ããŸãã
- Geb ã®æ¬ ç¹ã¯ãGroovy èšèªã® WebDriver ã䜿çšããããšã§ãããããã£ãŠãWebdriver ã䜿çšããå Žåã¯ããã®ç¹å®ã®èšèªã®ã¿ããµããŒããããŸãããã ããWebDriver ãçŽæ¥äœ¿çšããããšãããšãJavaãRubyãC#ãPython ãªã©ã®ä»ã®èšèªããµããŒããããŸãã
- Geb ã¯å°èŠæš¡ãªãããžã§ã¯ãã«ã¯é©ããŠããŸãããã倧èŠæš¡ãªã¿ã¹ã¯ã«ã¯é©ããŠããŸããWeb ã¢ããªã±ãŒã·ã§ã³ã«ããŒã¿ãæµããå¿ èŠãããããŒãžããã©ãŒã ãå«ãŸããŠããªãå Žåããã®æ§é ã¯æ±ãã«ããããã«èŠãããããããŸããã
8.ã¹ããã¯
Spock ã¯ãJava çšã®äººæ°ã®ãããã¹ãèªååãã¬ãŒã ã¯ãŒã¯ã§ãããã㯠Groovy ã§æžãããŠããããã¹ã¿ãŒã¯ Java ä»®æ³ãã·ã³äžã§ããŒã¿é§ååãã¹ããå®è¡ã§ããŸããSpock ã¯ãJVM ããµããŒãããå€ãã®èšèªãšã®åªããäºææ§ãæäŸããŸããSpock ã®ç¹åŸŽã® 1 ã€ã¯ãã³ãŒãã®ããã¥ã¡ã³ããšã³ãŒãã®èªã¿ããããæŽçãããŠããŠãããã«ç°¡åãªè±èªã®æç« ã解éã§ããããšã§ãããœãããŠã§ã¢éçºè ã Java ã§ãšã³ã¿ãŒãã©ã€ãº ã¢ããªã±ãŒã·ã§ã³ãäœæããããã«ãã䜿çšãããŸãããããã®çç±ã«ãããSpock 㯠2020 幎ã«æã人æ°ãããã䜿ãããã Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã«ãªããŸããã ã¹ããã¯ã®ç¹åŸŽ:- äºå®äžããã㯠JUnit Java ãã¬ãŒã ã¯ãŒã¯ã®æ¡åŒµããŒãžã§ã³ã§ãã
- ã¢ãã¯ãªããžã§ã¯ãã®ãµããŒãã
- ãã¹ãã¯ä»»æã®èšèªã§äœæã§ããŸãã
- ææ°ã® JDK ããŒãžã§ã³ã
- Eclipse ã®æŽæ°ããŒãžã§ã³ã
- Java ããã°ã©ãã³ã°èšèªã®ç¥èã
- ä»ã® Java èªåãã¹ã ãã¬ãŒã ã¯ãŒã¯ãšæ¯èŒããŠãå¯èªæ§ãé«ããå¹³æãªè±èªã®æç« ãšã®äºææ§ãæäŸããŸãã
- Spock ã䜿çšããã¹ã¿ããšã¢ããã³ã°ã¯ããããŸã§ä»¥äžã«ç°¡åãã€èŠçããããŸãããããã«ããããã¯ãã¬ãŒã ã¯ãŒã¯ã«çµã¿èŸŒãŸããŠããŸãã
- ããæ確ã§çããã©ã¡ãŒã¿åã
- åšå²ã®ã³ã³ããã¹ããç¶æããé害ã®åå ãçºèŠããããããŸãã
- ç°¡çŽ åãããã³ãã¥ãã±ãŒã·ã§ã³å¯èœãªãã¡ã€ã³åºæèšèª (DSL)ã
- Groovy ã§æžãããŠãããããGroovy ã®åºæ¬çãªç¥èãå¿ èŠã§ãã
- Spock ãã¬ãŒã ã¯ãŒã¯ã¯å°ã䜿ãã«ãããšæãããããããŸããããäžåºŠæ £ããŠããŸãã°ãä»ã® Java ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã«åãæ¿ããããšã¯èããªããªãã§ãããã
9.HTTPãŠããã
HttpUnit ã¯ãåºã䜿çšãããŠãããªãŒãã³ãœãŒã¹ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ãããã©ãŠã¶ãŒèŠä»¶ãªã㧠Web ãµã€ãããã¹ãã§ããŸããHttpUnit ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ã®èªåãã¹ã ã¹ã¯ãªãããå®è¡ããã®ã«æé©ã§ããååã瀺ãããã«ãHttpUnit ã¯åäœãã¹ãã«äœ¿çšã§ããŸãããã ãããµãŒãã¬ãããJSP (JavaServer Pages)ããã®ä»ã®ãã³ãã¬ãŒãèŠçŽ ãªã©ã®äžè¬ç㪠Web å±€èŠçŽ ã¯åäœãã¹ãã«é©ããŠããŸãããJava ã§æžããããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãè¿ãããããŒãžãXML DOMãããã¹ããããŒãã« ã³ã³ããããªã³ã¯ããã©ãŒã ã«å¯ŸããŠãã¹ããå®è¡ã§ããŸãã HttpUnit ã®ç¹åŸŽ:- Cookie ã®ãµããŒãã
- HTTPS ããã³ HTTP ãããã³ã«ããµããŒãããŸãã
- HTML å¿çã®ãµããŒãã
- ãããã·ãµãŒããŒã®ãµããŒãã
- åªãã JavaScript ãµããŒãã
- ã·ã¹ãã 㯠Java JDK 1.4 ãŸãã¯ææ°ããŒãžã§ã³ããµããŒãããŠããå¿ èŠããããŸãã
- HttpUnit ãšçµ±åããã Tidy.jar ãš httpunit.ja ãã¯ã©ã¹ãã¹ã«è¿œå ããŸãããŸããXML ããŒãµãŒãããªã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã
- å€ãããŒãžã§ã³ã® Java ã䜿çšããŠããå Žåã¯ãã¯ã©ã¹ãã¹ã« JAXP äºæã® XML ããŒãµãŒãå«ããå¿ èŠããããŸãã
- HttpUnit ã®ææ°ããŒãžã§ã³ã¯ããã®ããŒãžã§å ¥æã§ããŸãã
- Web ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããèªååã§ããååž°ãã¹ãã«åœ¹ç«ã¡ãŸãã
- HTTPUnit ã®å©ç¹ã® 1 ã€ã¯ãSelenium ãªã©ã®ä»ã®ãã¹ãèªååãã¬ãŒã ã¯ãŒã¯ãããã¯ããã«é«éã§ããããšã§ãã
- åªãã JavaScript ãµããŒãã«ãããã«ã¹ã¿ãã€ãºããããã©ãŠã¶ãŒ (IE ãŸã㯠Firefox) ã®åäœãã·ãã¥ã¬ãŒãã§ããŸãã
- HTTPUnit ã¯ãã³ã¢èšèªãšã㊠Rhino JavaScript ãšã³ãžã³ã䜿çšãããã©ãŠã¶å®è£ ã«åããããªããžã§ã¯ãå®è¡ãæäŸããŸãã
- äžè¬ç㪠JavaScript ã©ã€ãã©ãªã®åäœãã¹ãã¯ããããã®åäœãã¹ãã«åºã¥ãã HtmlUnit ç¬èªã®åäœãã¹ãã«çµ±åãããŸããjQuery 1.11.3ãMochiKit 1.4.1ãMooTools 1.2.1 ãªã©ã®ã©ã€ãã©ãªããµããŒãããHtmlUnit ãšããŸãé£æºããŸãã
- HtmlPage.executeJavascript(String yourJsCode) ã䜿çšããŠçŸåšã®ããŒãžã«ã³ãŒããæ¿å ¥ããæ©èœã
- ããã¯åçŽãªãã¹ããå®è¡ããå Žåã«ã¯è¯ããªãã·ã§ã³ã§ãããè€éãªãã¹ããäœæããã«ã¯ããã«å€ãã®ã³ãŒããå¿ èŠã«ãªããŸãã
- Selenium ã®ãããªãã¬ãŒã ã¯ãŒã¯ã¯ããå ·äœçã§ããã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ãå¶éããªããã©ãŠã¶äžå¿ã®åäœãå¯èœã§ããHttpUnit ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãäžéšã®äž»èŠãªãã©ãŠã¶ãé€ããéå®çãªãµããŒããåŸãããŸãã
10.JWebUnit
JWebUnit ã¯ãJUnit ãæ¡åŒµããJava ããŒã¹ã®ãã¹ã ãã¬ãŒã ã¯ãŒã¯ã§ããããã¯ãçµ±åãååž°ãæ©èœãã¹ãã«äœ¿çšãããŸããJWebUnit ã¯ãHTMLUnit ã Selenium ãªã©ã®çŸåšã¢ã¯ãã£ããªãã¬ãŒã ã¯ãŒã¯ãã·ã³ãã«ãªãã¹ã ã€ã³ã¿ãŒãã§ã€ã¹ãšçµã¿åãããŸããããã«ãããWeb ã¢ããªã±ãŒã·ã§ã³ã®ç²ŸåºŠãå³åº§ã«ãã§ãã¯ã§ããŸããJWebUnit ã䜿çšããŠãç»é¢ããã²ãŒã·ã§ã³ ãã¹ããå®è¡ã§ããŸãããã®ãã©ãããã©ãŒã ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ãæäœããŠã¢ããªã±ãŒã·ã§ã³ã®ç²ŸåºŠãæ€èšŒããããã®é«åºŠãª Java ã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã³ã° ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸããããã«ã¯ããªã³ã¯ ããã²ãŒã·ã§ã³ããã©ãŒã ã®å ¥åãšéä¿¡ãããŒãã« ã³ã³ãã³ãã®äœçœ®æããããã³ããžãã¹ ã¢ããªã±ãŒã·ã§ã³ã®ãã®ä»ã®äžè¬çãªæ©èœãèæ ®ãããŸãã JWebUnit ã®ç¹åŸŽ:- Web ã¢ããªã±ãŒã·ã§ã³ãããã²ãŒãããããã®ãããã¬ãã«ã® Java APIã
- ãªãŒãã³ãœãŒã¹ã® Java ããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã
- Maven ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- JWebUnit ã®çŸåšã®å®å®ããŒãžã§ã³ã¯ 3.3 ã§ããJava 1.7ãå¿ èŠã§ãã
- å¿ èŠãªãã©ã°ã€ã³ãè¿œå ããŸãããã¹ããé«éåããããã® HtmlUnit ãšãJavaScript ãš Webdriver ã®åªãããµããŒã: ããŒã¿çã®å質ã
- Maven 2 ã䜿çšãããšãã« Eclipse ã§äŸåé¢ä¿ã管çããã«ã¯ãm2e ãã©ã°ã€ã³ã䜿çšããŸãã
- ç»é¢äžã®ããã²ãŒã·ã§ã³ããã¹ãããããã«äœ¿çšãããŸãã
- Web ã¢ããªã±ãŒã·ã§ã³ãããã²ãŒãããããã®ãããã¬ãã« API ãæäŸããŸãã
- ç°¡åã«ã¢ã¯ã»ã¹ã§ããã¢ãµãŒã·ã§ã³ãåããã·ã³ãã«ãªããã²ãŒã·ã§ã³ã«ãããJUnit ã HtmlUnit ã䜿çšãããããéããã¹ããäœæã§ããŸãã
- HtmlUnit ãã Selenium ãªã©ã®ä»ã®ã¿ã€ãã®ãã©ã°ã€ã³ã«åãæ¿ãããå Žåã§ãããã¹ããæžãçŽãå¿ èŠã¯ãããŸããã
GO TO FULL VERSION