今天开始学习创建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遇见问题总结的更多相关文章

  1. 学习SpringBoot中遇见的坑

    1. 在搭建SpringBoot HelloWorld 时项目结构应该这样: 而不能这样: 否则访问时出现错误页面: 原因:此时还不知道,先记录下来. --已解决2018/12/11,因为Spring ...

  2. Springboot集成Common模块中的的全局异常处理遇见的问题

    由于项目公共代码需要提取一个common模块,例如对于项目的文件上传,异常处理等,本次集成common代码时候maven引入common的全局异常处理代码之后发现不生效,由于common包路径与自己的 ...

  3. springboot+vue+element:echarts开发遇见问题---后端sql(三)

    <select id="getSumRequestRankingCount" parameterType="java.lang.String" resul ...

  4. springboot+vue+element:echarts开发遇见问题---vue前端(二)

    <template> <u-grid> <u-grid-item caption="服务使用统计排行"> <div class=" ...

  5. (一)SpringBoot基础篇- 介绍及HelloWorld初体验

    1.SpringBoot介绍: 根据官方SpringBoot文档描述,BUILD ANYTHING WITH SPRING BOOT (用SPRING BOOT构建任何东西,很牛X呀!),下面是官方文 ...

  6. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

  7. ideal中把项目打成war包,并放在tomcat运行,遇见的问题。。。

    先说下我遇见的问题吧:最近做项目要把项目放在tomcat上运行,用的springboot框架, 在建项目时选择的是  jar包,项目写完要部署打包是,在pom中虽然把包改成了war ,可是每次放入to ...

  8. SpringBoot多模块项目打包问题

    项目结构图如下: 在SpringBoot多模块项目打包时遇见如下错误: 1.repackage failed: Unable to find main class -> [Help 1] 解决步 ...

  9. SpringBoot系列九:SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 服务整合 2.背景 在进行项目开发的时候经常会遇见以下的几个问题:需要进行邮件发送.定时的任务调 ...

随机推荐

  1. 在Sql Server中使用Guid类型的列及设置Guid类型的默认值

    1.列的类型为uniqueidentifier 2.列的默认值可以设为newid()

  2. bootstrap-table 数据表格行内修改

    bootstrap-table 数据行内修改js中设置列的属性 editable : { type : 'text',//数据显示在文本框内 emptytext : "--",// ...

  3. Python扩展包

    Python扩展包 1.NumPy NumPy提供了多种python本身不支持的多种集合,有list.ndarray和ufunc. list 更加灵活的数组,支持多维,数据可不同型,存储数量远大于ar ...

  4. 如何在windows下安装配置pyspark notebook

    第一步:安装anaconda anaconda自带一系列科学计算包 下载链接:http://pan.baidu.com/s/1b4jWlg 密码:fqq3 接着配置环境变量:如我安装在D盘下   试一 ...

  5. April 3 2017 Week 14 Monday

    Don't worry about finding your soul mate. Find yourself. 欲寻佳侣,先觅本心. You may fail to find your soul m ...

  6. ARM实验2 —— 蜂鸣器实验

    PWM蜂鸣器实验: 实验内容: 编写PWM模块程序,通过PWM控制FS_4412平台上的蜂鸣器. 实验目的: 熟悉开发环境. 掌握exynos4412处理器的PWM功能. 实验平台: FS_4412开 ...

  7. 前端高质量知识(二)-JS执行上下文(执行环境)详细图解Script

    先随便放张图 我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题.比如先来一个简单一点的. console.log(a); // 这里会打印出什么? var a = 20; PS: 变量提 ...

  8. 火车进站输出路径(HDU1022)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 解题报告: 思路: 就是维护好这个栈,只要它不是空,并且头部和ans相同,就一直出栈,直到不满足 ...

  9. CentOS 5 - 安装PHP MongoDB扩展

    For driver developers and people interested in the latest bugfixes, you can compile the driver from ...

  10. asp .net core 中间件的简单 使用

    在startup 的cs文件中 2.捕获异常的中间件 可以在浏览器中 显示异常信息 在开发环境的境况下,该中间件会帮你 捕获异常