zoukankan      html  css  js  c++  java
  • springboot遇见问题总结

    今天开始学习创建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启动类要放在根目录下,网上都说根目录,按我说就是你所有代码的上一级目录,可以让启动类在启动的时候扫描到所有的类

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

  • 相关阅读:
    上传图片时判断图片的模式GRB或CMYK
    正则表达式的6中使用
    SqlServer获得存储过程的返回值
    从零学习wcf(一)
    等比例缩小图片
    模仿Jquery Tab
    jquery ajax调用一般处理程序
    一种感觉
    "敏捷软件开发" 读书笔记叙
    荣迁贵宝地
  • 原文地址:https://www.cnblogs.com/lwdmaib/p/9741199.html
Copyright © 2011-2022 走看看