springmvc的junit 4测试

现在重新开始学java,好好的学框架
Spring mvc junit 4

当从中途开始再学习java,挑中一个框架开始学习,学习到测试类的时候,进行单元测试,还是想到了之前的junit 虽然在以前的实际开发中,用的更多的依然是 启动服务,关闭服务,sysout,但是这次想把它学好。

使用junit4 的步骤:
1.项目右键,在java bulid classpath中添加junit支持
2.新建。在想要进行单元测试的类中,进行Test Case添加
3.加入相应的jar
* spring-test-4.0.4.RELEASE.jar
* aopalliance.jar
4.进行spring配置文件的相关配置,对事务的支持

<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>


5.然后再进行Test Case类的编写


package com.springmvc.act.test;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.WebApplicationContext;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

import com.springmvc.act.dao.BlogsDao;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations={"classpath:springmvc.xml"})
/**
* 基于Spring mvc 的单元测试
* 需要的jar
* spring-test-4.0.4.RELEASE.jar
* aopalliance.jar
* 以及junit的相关jar包
*
* 需要配置springmvc 事务相关操作
*
*/
@TransactionConfiguration(defaultRollback=true)
@Transactional
public class TestBaseDao {

@Autowired
BlogsDao blog;

private MockMvc mockMvc;

@Autowired
private WebApplicationContext webApplicationContext;

@Before
public void step(){
this.mockMvc = webAppContextSetup(this.webApplicationContext).build();
}

/**
* 单元测试 模拟Get请求
*/
@Test
@Rollback(false)
public void testGet(){
try {
mockMvc.perform(get("/test/index").param("name", "zhangsnan"))
.andExpect(status().isOk()).andDo(print());
} catch (Exception e) {
e.printStackTrace();
}
}


/**
* 单元测试 junit 模拟Post请求
*/
@Test
public void testPost() throws Exception{
mockMvc.perform(post("/test/requestMoney").param("id", "10"))
.andExpect(status().isOk()).andDo(print());
}

/**
* 请求数据库 执行删除操作
*/
@Test
public void testDelete_Blog() {
System.out.println(blog.delete_Blog("1"));

}

}



* 添加静态的引用

import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

实现get,post 的模拟请求 包括 header body status 等的模拟
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值