é£è¼è¨äºãSpringBoot ã¢ããªéçºããèªã¿é²ããã¨ããµã³ãã«ã® Webã¢ããªãå¶ä½ãããã¨ãã§ãã¾ãã
ä»åã¯ããã¹ãã¨æåã§ã®åä½ç¢ºèªããã¦ããã¾ãã
é£è¼è¨äº
SpringBoot ã¢ããªéçºã®é£è¼è¨äºã¯ä»¥ä¸ã®éãã§ãã
- æ¦è¦ã»ä½¿ç¨ãããã¯ã
- ããã¸ã§ã¯ã使ã»SQL使
- ã¢ãã«ã»ãªãã¸ããªã®ä½æ
- ã³ã³ããã¼ã©ã¼ã»ã¡ã¤ã³ã®ä½æ
- HTMLã»JavaScriptã®ä½æ
- CSSã»ç»åã®ä½æ
- ãã¹ãã»åä½ç¢ºèªï¼ä»åã®è¨äºï¼
ç®æ¬¡
- åä½ãã¹ã
- èªåUIãã¹ã
- åä½ç¢ºèª
- 課é¡
- æå¾ã«
1. åä½ãã¹ã
JUnit 㨠Mockito ã使ã£ã¦ãã³ã³ããã¼ã©ã¼ã®UTã1ã¤ã ãå®è£ ãã¾ããã
src/test/java/sample/controller/TweetControllerTest.java
package sample.controller; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Map; import org.junit.jupiter.api.Test; import sample.model.Tweet; import sample.repository.TweetRepository; public class TweetControllerTest { @Test public void testCreate() { // æºåï¼ãã¹ããã¼ã¿ Tweet data = new Tweet(); data.txt = "ã¡ãã»ã¼ã¸"; // æºåï¼ã¢ãã¯ï¼ãªãã¸ããªï¼ TweetRepository mock = mock(TweetRepository.class); when(mock.save(data)).thenReturn(data); // æºåï¼ãã¹ã対象ã¯ã©ã¹ TweetController target = new TweetController(); target.repo = mock; // å®è¡ï¼ãã¹ã対象ã¡ã½ãã Map<String, Tweet> result = target.create(data); // æ¤è¨¼ï¼ãã¤ã¼ããçããã㨠Tweet tweet = result.get("tweet"); assertEquals("ã¡ãã»ã¼ã¸", tweet.txt); } }
2. èªåUIãã¹ã
JUnit 㨠Selenide ã使ã£ã¦ãUIãã¹ãã1ã¤ã ãå®è£ ãã¾ããã
src/test/java/it/TweetTest.java
package it; import static com.codeborne.selenide.Condition.*; import static com.codeborne.selenide.Selenide.*; import org.junit.jupiter.api.Test; public class TweetTest { @Test public void userCanPostTweet() { // ã¤ã¶ããæç¨¿ open("/"); $("#txt").setValue("ããã«ã¡ã¯ã"); $("#create").click(); // æ¤è¨¼ var $p = $$(".tweet .txt p").get(0); $p.should(appear); $p.shouldHave(text("ããã«ã¡ã¯ã")); // æç¨¿ãåé¤ $$(".tweet").get(0).$(".delete").click(); switchTo().alert().accept(); } }
ãã¹ããå®è¡ããåã«ãã¢ããªãèµ·åãã¦ããå¿ è¦ãããã¾ããã¢ããªãèµ·åããæ¹æ³ã¯ã次ã®ã»ã¯ã·ã§ã³ã«è¨è¼ãã¦ãã¾ãã
3. åä½ç¢ºèª
ã¢ããªãèµ·åãã¦ãæåã§ã®åä½ç¢ºèªãè¡ãã¾ããã
3.1. ã¢ããªã®èµ·å
Eclipse ãªã©ã® IDE ã§ App.java ãå®è¡ããããããã¸ã§ã¯ãã®ã«ã¼ããã£ã¬ã¯ããªã§ä»¥ä¸ã®ã³ãã³ããå®è¡ãã¾ãã
> mvn spring-boot:run
3.2. ã¢ããªã®è¡¨ç¤º
ãã©ã¦ã¶ã§ä»¥ä¸ã®URLãéãã¾ãã
http://localhost:8080/
3.3. ãã¤ã¼ãã®æç¨¿
ã¡ãã»ã¼ã¸ãå ¥åãã¦ããã¤ã¼ãããæ¼ãã¨ãå ¥åã¨ãªã¢ã®ä¸ã«ãã¤ã¼ãã表示ããã¾ãã

3.4. ãã¤ã¼ãã®ç·¨é
ãã¤ã¼ãã®ãç·¨éããæ¼ãã¨ãã¢ã¼ãã«ã表示ããã¦å å®¹ãæ´æ°ãããã¨ãã§ãã¾ãã

3.5. ãã¤ã¼ãã®ç·¨é
ãã¤ã¼ãã®ãåé¤ããã¯ãªãã¯ãã¦ããã¤ã¢ãã°ã§ãOKããæ¼ãã¨åé¤ãããã¨ãã§ãã¾ãã

4. 課é¡
ä»åã¯ãµã³ãã«ã¢ããªã§ããããæ¬æ ¼çãªã¢ããªã«ããã«ã¯ä»¥ä¸ã®ç¹ãªã©ã課é¡ã«ãªãã¨æãã¾ãã
- ããªãã¼ã·ã§ã³ï¼é·ããã¤ã¼ããªã©ã«å¯¾å¿ï¼
- ãã¤ã¼ãã®è¡¨ç¤ºæ¹æ³ï¼éãå¤ãå ´åã«å¯¾å¿ï¼
- èªè¨¼æ©è½ã®å®è£ ï¼ãã°ã¤ã³ãã¦ã¼ã¶ã¼ç®¡çï¼
- çã
5. æå¾ã«
ããã¾ã§ãèªã¿ããã ããããã¨ããããã¾ãã
ã䏿ãªç¹ãä¸å ·åãªã©ãããã°ãã³ã¡ã³ãçã§ãé£çµ¡ãããã ããã¨å¬ããã§ãã
GitHubãªãã¸ããª
ã¢ããªã®ã³ã¼ãã¯ã以ä¸ã®ãªãã¸ããªã«ãããã¾ãã