码迷,mamicode.com
首页 > 编程语言 > 详细

springboot遇见问题总结

时间:2018-10-04 08:46:18      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:测试用例   build   col   com   tap   auto   demo   autoconf   nbsp   

今天开始学习创建springboot项目  

问题1:

    产生异常:

  技术分享图片

创建项目目录:

技术分享图片

demo代码:

代码Controller

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by andyliu on 2018/10/3.
 */
@RestController
public class LoginController {

    @RequestMapping(value = "/login")
    public String login(){
        return "success1";
    }
}

测试用例采用mockMvc实现单元测试用例  mockmvc是mvc单元测试用例对象  preform(英文执行的意思)方法执行方法内部需要一个MockMvcRequestBuilders对象

MockRequestBuilders对象用来构建mockmvc的通过get方法模拟浏览器发送的get请求get方法参数为url请求地址,同时accept方法参数为指定接收的媒体类型为什么

andExpect方法为期望方法  也就是说该方法是我们期望的预期值 内部传入status()方法是对返回的状态判断通过isOk判断状态是否正确  同时可以添加多个期望比如期望内容  通过content()方法返回内容调用string()方法内容通过equalTo()方法来比较返回值内容是否相等。

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class LoginTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void loginTest() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/login").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("success")));
    }
}

当执行测试用例的时候这样会报出上面的错误。

为什么采用mackmvc来进行单元测试那,这样可以不通过创建httpClient来创建客户端请求  同时避免了由于网络等各种原因导致的测试问题

那么上面的异常产生原因是什么那:

    在阐述上面的问题原因之前  在我说一下这个问题在使用测试用例之前就出现了  那就是创建好springboot项目后采用浏览器访问localhost:8080/login 无法访问创建好的方法。以前创建过一直认为这样写没有错误,没错代码是没有任何问题的。问题产生原因是????

答案:

   springboot创建同时会创建一个启动类 因为springboot内部集成了tomcat等应用服务器  测试中也同样创建了这样一个启动类

@SpringBootApplication
public class SBootDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SBootDemoApplication.class, args);
    }
}

springboot启动类要放在根目录下,网上都说根目录,按我说就是你所有代码的上一级目录,可以让启动类在启动的时候扫描到所有的类

正确的操作如图就解决了这个问题

技术分享图片

 

springboot遇见问题总结

标签:测试用例   build   col   com   tap   auto   demo   autoconf   nbsp   

原文地址:https://www.cnblogs.com/lwdmaib/p/9741199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!