Spring-mvc junit单元测试中 如何回滚?
2016-05-13 21:50
417 查看
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration(value = "src/main/webapp") @ContextHierarchy({ @ContextConfiguration(name = "parent", locations = "classpath:./spring/applicationContext.xml") }) public class MessageTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setUp() { mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); } @Test public void testTempPage() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/msg/temp/page/v1")); } @Test public void testAddTemp() throws Exception { mockMvc.perform(MockMvcRequestBuilders.post("/msg/temp/add/v1").param("name", "新测试3") .param("content", "nice roll")); } }
testAddTemp添加了一天记录,如何使这个测试添加的动作自动回滚?
2015年09月16日提问
评论
邀请回答
1 个回答
1采纳
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration(value = "src/main/webapp") @ContextHierarchy({ @ContextConfiguration(name = "parent", locations = "classpath:./spring/applicationContext.xml") }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) @Transactional public class MessageTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setUp() { mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); } @Test public void testTempPage() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/msg/temp/page/v1")); } @Test @Rollback(true) public void testAddTemp() throws Exception { mockMvc.perform(MockMvcRequestBuilders.post("/msg/temp/add/v1").param("name", "新测试3") .param("content", "nice roll")); } }
一般来说在你的测试类上加上@Transactional就足够了,Spring默认是会回滚的。
更简便的做法:直接继承
AbstractTransactionalJUnit4SpringContextTests
相关文章推荐
- SpringMVC源代码学习(三)DispatcherServlet
- jeval-java计算公式工具包
- Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨
- eclipse使用MyBatisGenerator自动生成相关文件出错:project does not exist
- Java并发编程:Thread类的使用
- Spring事务的隔离级别
- 在java中使用dom4j解析xml(示例代码)
- java中的移位运算符
- Netty:JBOSS的 JAVA NIO开发开源框架
- Java使用Log日志系统(common-logging和log4j)
- java正则表达式总结
- JavaSE入门学习40:Java集合框架之泛型
- JAVA JUnit测试框架
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- java RMI
- java 在线源码网址
- Spring_Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别
- myeclipse的一个错误
- java中将byte转化为字母
- moon java环境变量的配置--参考孤傲苍狼博客与java核心技术卷与java编程思想第一章