蜡笔小瑤的专栏

描述你大爷!

【Java】单元测试

注解

通用

@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes ={DataSourceConfig.class,WebApiConfig.class}) @WebAppConfiguration

数据库回滚

  • 在单元测试的时候为了避免产生脏数据,需要对执行的结果进行回滚
  • 需要加入@TransactionConfiguration将defaultRollback设置为true(默认)
  • 继承AbstractTransactionalJUnit4SpringContextTests
@TransactionConfiguration(transactionManager="balanceTransactionManager",defaultRollback=true)

使用mock测试Controller

maven配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.0.0</version>
    <scope>test</scope>
</dependency>

Demo

mockMvc.perform(MockMvcRequestBuilders.put("/v1/account/increasement")
.contentType(MediaType.APPLICATION_JSON)
.requestAttr(RequestAttrKeyConstant.API_AUTH_ID, TEST_API_AUTH)
.param("userId", "" + TEST_USER_ID)
.param("amount", "" + TEST_AMOUNT)
.param("summary", "测试接口testAccountIncrease增加余额")
.param("certificateType", ""+CertificateTypeEnum.IN.code)).andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("status").value(0));
阅读更多
文章标签: java 单元测试
个人分类: Java
上一篇【Java】log4j配置
下一篇【Git】Git常用命令
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭