mySpringBootTester
本项目旨在把SpringBoot的特性展示出来,都是开发中经常用到的,可以留作SpringBoot使用备忘录,持续更新中。
项目地址:https://github.com/coconilu/mySpringBootTester
每一个特性都会有一个测试用例用于展示,可以用IDE的Run As > JUnit Test查看效果
使用SpringTest
使用测试驱动开发的模式,每一个测试类都会由@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
- 使用内存数据库H2DB,创建Repository接口后,由Spring创建相应的实例
Spring-Data-Rest
没有特定的tester,只要项目里声明了@Repository,Spring会自动生成Restful风格的Controller
过程:
- 依赖spring-boot-starter-data-jpa和spring-boot-starter-data-rest
- 使用内存数据库H2DB,创建Repository接口后,由Spring创建相应的实例,继而由Spring创建相应的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注解的方法,计算每个方法的调用时长