mySpringBootTester
本項目旨在把SpringBoot的特性展示出來,都是開發(fā)中經(jīng)常用到的,可以留作SpringBoot使用備忘錄,持續(xù)更新中。
項目地址:https://github.com/coconilu/mySpringBootTester
每一個特性都會有一個測試用例用于展示,可以用IDE的Run As > JUnit Test查看效果
使用SpringTest
使用測試驅(qū)動開發(fā)的模式,每一個測試類都會由@RunWith(SpringRunner.class)、@SpringBootTest注解,需要測試Http請求的需要添加@WebAppConfiguration注解
WebMVC,Mock
請看src/test/java/dev/wangyaohui/WebMVCTests.java
過程:
- 依賴spring-boot-starter-test
- 里面包含測試RestController請求的用例
Spring-Data-JPA
請看src/test/java/dev/wangyaohui/JPATests.java
過程:
- 依賴spring-boot-starter-data-jpa
- 使用內(nèi)存數(shù)據(jù)庫H2DB,創(chuàng)建Repository接口后,由Spring創(chuàng)建相應(yīng)的實例
Spring-Data-Rest
沒有特定的tester,只要項目里聲明了@Repository,Spring會自動生成Restful風格的Controller
過程:
- 依賴spring-boot-starter-data-jpa和spring-boot-starter-data-rest
- 使用內(nèi)存數(shù)據(jù)庫H2DB,創(chuàng)建Repository接口后,由Spring創(chuàng)建相應(yīng)的實例,繼而由Spring創(chuàng)建相應(yīng)的RestController
- 可以使用postman測試,在項目啟動后,可以輸入localhost:8080/api/persons訪問查看效果
Spring-AOP
請看
- src/main/java/dev/wangyaohui/aop/CountingAspect.java
- src/main/java/dev/wangyaohui/aop/CountingTester.java
- src/test/java/dev/wangyaohui/AOPTests.java
過程:
- 依賴spring-boot-starter-aop
- 測試用例是處理每一個類的添加了@Counting注解的方法,計算每個方法的調(diào)用時長