测试类自动注入失败:@RunWith(SpringRunner.class)详解

Ctrl+Alt+Delete键,打开任务管理器,结束占据8080端口的Tomcat进程。

HomeController.java

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Taco Cloud</title>
</head>
<body><h1>Welcome to ...</h1><img th:src="@{/images/TacoCloud.png}"/>
</body>
</html>

home.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Taco Cloud</title>
</head>
<body><h1>Welcome to ...</h1><img th:src="@{/images/TacoCloud.png}"/>
</body>
</html>

HomeControllerTest.java

package tacos;import static org.hamcrest.Matchers.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;@RunWith(SpringRunner.class)@WebMvcTest(HomeController.class)
public class HomeControllerTest {@Autowiredprivate MockMvc mockMvc;    //注入MockMvc@Testpublic void testHomePage() throws Exception{mockMvc.perform(get("/"))    //发起对“/”的get.andExpect(status().isOk()) //期望得到HTTP200.andExpect(view().name("home"))  //期望得到home视图.andExpect(content().string(    //期望包含welcome to...containsString("Welcome to ...")));}}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>sia</groupId><artifactId>taco-cloud</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><!--打包为jar  --><name>taco-cloud</name><description>taco-cloud project for Spring Boot</description><properties><java.version>11</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><scope>test</scope></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>htmlunit-driver</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><!--<scope>test</scope>--></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

编写spring应用相关推荐

  1. 编写 Spring MVC 控制器的 14 个技巧

    欢迎关注方志朋的博客,回复"666"获面试宝典 通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求.然后,控制器调用业务类来处理与业务相关的任务,然后将客户 ...

  2. requestmapping默认是get还是post_编写Spring MVC控制器的14个技巧,你今天get到了吗?...

    Java面试笔试面经.Java技术每天学习一点 公众号Java面试 关注我不迷路 原文:http://dzone.com/articles/14-tips-for-writing-spring-mvc ...

  3. 换一种方式编写 Spring MVC 接口

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 通常我们编写 Spring MVC 接口的范 ...

  4. (转)编写Spring的第一个案例并测试Spring的开发环境

    http://blog.csdn.net/yerenyuan_pku/article/details/52832145 Spring4.2.5的开发环境搭建好了之后,我们来编写Spring的第一个案例 ...

  5. (转)在编写Spring框架的配置文件时,标签无提示符的解决办法

    http://blog.csdn.net/yerenyuan_pku/article/details/52831618 问题描述 初学者在学习Spring框架的过程中,大概会碰到这样一个问题:在编写S ...

  6. [error] eclipse编写spring等xml配置文件时只有部分提示,tx无提示

    eclipse编写spring等xml配置文件时只有<bean>.<context>等有提示,其他标签都没有提示 这时就需要做以下两步操作(下面以事务管理标签为例) 1,添加命 ...

  7. 吐血整理!14个编写Spring MVC控制器的实用小技巧

    全文共4248字,预计学习时长9分钟 编写Spring MVC控制器的最佳技巧 本文介绍了编写Spring MVC框架的控制器(controller)的基础技巧和最佳操作.在Spring MVC框架中 ...

  8. 位置穿越服务器,编写Spring Cloud Config Server路径穿越漏洞全面检测脚本

    Spring Cloud Config Server路径穿越漏洞(CVE-2019-3799)的分析文章已经很多了,这里我不在画蛇填足.在分析该漏洞之后,发现了一些小细节,感觉对该漏洞检测还是挺有帮助 ...

  9. XMLIOC案例-编写spring的Ioc配置

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

最新文章

  1. SAP 凭证冲销可以使用BAPI_ACC_DOCUMENT_REV_POST或者BDC录制FB08来做
  2. SAP UI5 应用开发教程之三:开始接触第一个 SAP UI5 控件
  3. 腐蚀函数cvErode 和 膨胀函数cvDilate
  4. eclipse和jdk的版本问题,比如printf()出错
  5. java的环境变量设置_Java开发环境不再需要配置classpath
  6. ES5常用的组合继承及原型链理解
  7. DesignPattern_Java:Adapter Pattern
  8. 解决开ServiceHost时候System.PlatformNotSupportedException: Operation is not supported on this platform.
  9. 四次面试:程序员越来越悲催了?
  10. linux内存源码分析 - 内存回收(匿名页反向映射)
  11. 20210422-微信刷脸支付获取调用凭证authinfo的时候,提示 rawdata无效
  12. Word转成PDF格式会变吗?教你3个免费方法
  13. 测绘技能大赛选手图加密工具
  14. C语言:输入一堆字符统计不同字符的数量
  15. 何谓短缺和过剩_关于资源短缺,应用程序服务器和微服务
  16. Linux部署若依项目
  17. PHP_递归函数时return
  18. css sprites精灵技术:Html将所有图片放在一张图片上
  19. 关于chm提示 已取消到该网页的导航的解决方法(转载,忘记出处)
  20. “量化之神”西蒙斯退位,解密金融模型和量化投资帝国

热门文章

  1. Rocksdb 的 rate_limiter实现 -- compaction限速
  2. 继承和多态 1.0 -- 继承概念(is-a、has-a,赋值兼容规则,隐藏重定义)
  3. vue 手机键盘把底部按钮顶上去
  4. 团队作业—第二阶段06
  5. UICollectionView之网络图片解析
  6. 【BZOJ 4016】[FJOI2014]最短路径树问题
  7. Linux音频设备驱动
  8. 关于IOS中的self关键字
  9. .net 连接ORACLE 数据库的例子
  10. ptam tracking