博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc 单元测试示例
阅读量:4980 次
发布时间:2019-06-12

本文共 3054 字,大约阅读时间需要 10 分钟。

import java.awt.print.Printable;  import java.io.IOException;    import javax.servlet.http.HttpServletResponse;    import org.junit.Before;  import org.junit.Test;  import org.junit.runner.RunWith;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.http.MediaType;  import org.springframework.test.context.ContextConfiguration;  import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  import org.springframework.test.context.web.WebAppConfiguration;  import org.springframework.test.web.servlet.MockMvc;  import org.springframework.test.web.servlet.ResultHandler;  import org.springframework.test.web.servlet.ResultMatcher;  import org.springframework.ui.Model;  import org.springframework.test.context.transaction.TransactionConfiguration;  import org.springframework.transaction.annotation.Transactional;  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 org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod;  import org.springframework.web.context.WebApplicationContext;    @RunWith(SpringJUnit4ClassRunner.class)  @WebAppConfiguration  @ContextConfiguration(locations = { "classpath:applicationContext.xml" })  //当然 你可以声明一个事务管理 每个单元测试都进行事务回滚 无论成功与否  @TransactionConfiguration(defaultRollback = true)  //记得要在XML文件中声明事务哦~~~我是采用注解的方式  @Transactional  public class ExampleTests {        @Autowired      private WebApplicationContext wac;        private MockMvc mockMvc;        @Before      public void setup() {          // webAppContextSetup 注意上面的static import          // webAppContextSetup 构造的WEB容器可以添加fileter 但是不能添加listenCLASS          // WebApplicationContext context =          // ContextLoader.getCurrentWebApplicationContext();          // 如果控制器包含如上方法 则会报空指针          this.mockMvc = webAppContextSetup(this.wac).build();      }        @Test          //有些单元测试你不希望回滚          @Rollback(false)      public void ownerId() throws Exception {          mockMvc.perform((get("/spring/rest/4.do"))).andExpect(status().isOk())                  .andDo(print());      }        @Test      public void test() throws Exception {          mockMvc.perform((get("/spring/test.do"))).andExpect(status().isOk())                  .andDo(print())                  .andExpect(model().attributeHasNoErrors("teacher"));      }        @Test      public void testb() throws Exception {          mockMvc.perform((get("/spring/testb.do"))).andExpect(status().isOk())                  .andDo(print());      }        @Test      public void getAccount() throws Exception {          mockMvc.perform((post("/spring/post.do").param("abc", "def")))                  .andExpect(status().isOk()).andDo(print());      }    }

 

转载于:https://www.cnblogs.com/zipon/p/5626348.html

你可能感兴趣的文章
mp4文件格式解析(转)
查看>>
友坚恒天.开发板(Cotex-A9 Exynos4412 开发板)
查看>>
高精度运算
查看>>
番外篇-AppService服务
查看>>
解决远程连接mysql错误1130(转载)
查看>>
JavaWeb--------数据库连接池c3p0
查看>>
内联函数
查看>>
命令模式
查看>>
有关浏览器兼容样式问题
查看>>
weblogic中配置数据源
查看>>
70+漂亮且极具亲和力的导航菜单设计推荐
查看>>
import与from...import...的区别
查看>>
选择排序
查看>>
Java编程优化之旅(二) String类型知多少
查看>>
如何在微软Hyper-V下发挥SQL Server最大功效
查看>>
Delphi Invalidate的用法
查看>>
将图层坐标系转化为当前MapControl中的现有图层坐标系
查看>>
Codeforces Round #394 (Div. 2) 题解
查看>>
hdu 4694 Important Sisters 支配树
查看>>
JSP新闻系统之四后台主页面
查看>>