通过Junit和Spring-Test测试SpringMVC的web应用

来源:互联网 发布:l800清零软件 编辑:程序博客网 时间:2024/05/01 16:21

通过Junit和Spring-Test测试SpringMVC的web应用

1、通过Spring-Test测试web应用

可以避免多次启动web 容器带来的烦恼,每次执行特定的测试方法。

再也不用通过web容器(如tomcat,jetty等)启动整个web应用,尤其是当项目复杂,比较庞大时,能够节省很多时间。


2、maven依赖

maven依赖除了需要用到的junit和spring以及其他的项目使用的依赖之外,需要额外增加

spring-test的jar包。

 <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <!-- Used for Hibernate4 LocalSessionFactoryBean -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
    </dependency>


3、具体测试类

这里只贴上了对应测试类,controller类只实现简单的syso。

@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration(value = "src/main/webapp") @ContextConfiguration({"classpath*:/applicationContext.xml" })  //@ContextConfiguration("file:src/main/resources/applicationContext.xml")public class TestRunController {@Autowired        private WebApplicationContext wac;    private MockMvc mockMvc;    @Autowired       TestController testController ;    @Autowired    ServletContext context;        @Before    public void setUp() {       // mockMvc = MockMvcBuilders.webAppContextSetup( wac ).build();        mockMvc = MockMvcBuilders.standaloneSetup( testController).build() ;    }     @Test    public void test() throws Exception {        assertNotNull(mockMvc);        mockMvc.perform( MockMvcRequestBuilders.get("/test/testA.action?a=1") )                        .andReturn()  ;       }        @Test    public void testB() throws Exception {        assertNotNull(mockMvc);        mockMvc.perform( MockMvcRequestBuilders.post("/test/testB.action" ).content("aaa") )                        .andReturn()  ;       }}




参考资料:

http://my.oschina.net/u/2007041/blog/418748?fromerr=AKpkgCGL

http://jinnianshilongnian.iteye.com/blog/2004660

https://www.ibm.com/developerworks/cn/java/j-lo-springunitest/

springmvc-test的api:  http://www.csdn123.com/html/mycsdn20140110/a7/a75383fcc7d869a7627583ada5e76e46.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做人流后又怀孕怎么办 仓鼠长了个肿瘤怎么办 过敏留下的黑印怎么办 脸上痘痘发炎了怎么办 脸上皮肤红痒怎么办啊 皮肤有一片红痒怎么办 脸过敏期间很干怎么办 怀孕了用了消糜栓怎么办 乳酸杆菌少或无怎么办 怀孕了白带有异味怎么办 怀孕清洁度iv度怎么办 怀孕了下面有异味怎么办 孕妇尿白细胞1是怎么办 药流期间喂奶了怎么办 20多岁卵巢早衰怎么办 3岁儿童肚子胀气怎么办 肚子又胀又痛怎么办 1岁宝宝肚子胀气怎么办 2岁宝宝肚子胀气怎么办 产后腰粗肚子大怎么办 发烧后腹泻拉水怎么办 又吐又拉还发烧怎么办 喝中药恶心想吐怎么办 生完孩子肛门疼怎么办 拉完大便肛门痛怎么办 肚子总是凉凉的怎么办 京东金条风控了怎么办 京东维修没发票怎么办 假牙吞到肚子里怎么办 眼睛一只大一只小怎么办 一个眼睛大一个眼睛小怎么办 电脑上的字模糊怎么办 无忧乐行注销了怎么办 连供墨盒有空气怎么办 30岁突然停经了怎么办 下面很痒怎么办白带多 私处有点痒怎么办洗液 人的下体皮肤痒怎么办 打球手指关节肿了怎么办 婴儿2个月鼻塞怎么办 3个月婴儿鼻塞怎么办