关闭

【Java】单元测试

标签: java单元测试
82人阅读 评论(0) 收藏 举报
分类:

注解

通用

@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));
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6430次
    • 积分:169
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条
    文章分类