SpringBoot文档学习一(SpringBoot项目的生成与简单的启动与测试)

3 篇文章 0 订阅
1 篇文章 0 订阅

·快速构建SpringBoot项目

http://blog.didispace.com/spring-boot-learning-1/

  注意1:在项目入口类上添加扫描controller的注解,格式为:

@ComponentScan("包名1,包名2...")

  注意2:当启动项目的时候,看到端口被占用:

 可以进行修改application.properties文件:

#server.port=8080
server.port=8081

注意3:MockMvc的作用:

对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,这样会导致测试无法进行,为了可以对Controller通过引入MockMVC进行解决。

MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。

测试实例:

package com.springBoot.study.day01;

import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import com.springBoot.study.controller.HelloController;


@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class Day01ApplicationTests {
    
    private Log logger = LogFactory.getLog(Day01ApplicationTests.class);
    
    private MockMvc mock;
    
	@Test
	public void contextLoads() {
	}
	@Before
	public void setUp() throws Exception {
	    mock = MockMvcBuilders.standaloneSetup(new HelloController()).build();
	}
	
	@Test
	public void getHello() throws Exception{
	    logger.info("start moment");
	    mock.perform(MockMvcRequestBuilders.get("/hello/index").accept(MediaType.APPLICATION_JSON))
	        .andExpect(status().isOk())//注意引用
	        .andExpect(content().string(equalTo("hello Spring!")));///注意引用
	    
	}
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值