现在重新开始学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配置文件的相关配置,对事务的支持
5.然后再进行Test Case类的编写
* 添加静态的引用
实现get,post 的模拟请求 包括 header body status 等的模拟
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 等的模拟