springboot不执行单元测试原因分析

比特寻幽人
• 阅读 8491

之前写单元测试一般都是选中方法后点击执行,今天使用mvn test执行的时候却一直不执行,其中遇到了两大坑,记录一下。项目是springboot项目.
先说运行了mvn test不执行的问题:现象是控制台输出了下面的信息后就不再输出了

[INFO] Scanning for projects...
Downloading: http://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.8.10/jackson-bom-2.8.10.pom
Downloading: http://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-bom/2.7/log4j-bom-2.7.pom
Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring-framework-bom/4.3.13.RELEASE/spring-framework-bom-4.3.13.RELEASE.pom
Downloading: http://repo.maven.apache.org/maven2/org/springframework/data/spring-data-releasetrain/Ingalls-SR9/spring-data-releasetrain-Ingalls-SR9.pom
Downloading: http://repo.maven.apache.org/maven2/org/springframework/integration/spring-integration-bom/4.3.12.RELEASE/spring-integration-bom-4.3.12.RELEASE.pom
Downloading: http://repo.maven.apache.org/maven2/org/springframework/security/spring-security-bom/4.2.3.RELEASE/spring-security-bom-4.2.3.RELEASE.pom

猜测是http://repo.maven.apache.org...,在网上查了下,说是需要在maven的setting文件里加镜像,参考的是这篇blog:setting里配置镜像
加的配置如下:

   <mirrors>
        <mirror>
             <id>repo</id>
             <mirrorOf>central</mirrorOf>
             <name>Human Readable Name for this Mirror.</name>
             <url>https://repo.maven.apache.org/maven2/</url>
         </mirror>
  </mirrors>

加好镜像再次执行的时候,所依赖的Jar包都可以顺利的下载下来了。
但是单元测试执行的结果都是0:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.914 sec

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

将maven-surefire-plugin这个插件从2.6升级到2.19.1版本后,单元测试就可以正常执行了

      <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <!--2.6的版本会导致mvn test命令执行之后Tests run: 0,也就是
                不会执行任务测试用例,得使用高版本-->
                <!--<version>2.6</version>-->
                <configuration>
                    <skip>false</skip>
                </configuration>
            </plugin>
点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Python—执行系统命令的四种方法(os.system、os.popen、commands、subprocess)
一、os.system方法这个方法是直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息。os.system(cmd)的返回值。如果执行成功,那么会返回0,表示命令执行成功。否则,则是执行错误。使用os.system返回值是脚本的退出状态码,该方法在调用完shell脚本后
Easter79 Easter79
3年前
springboot项目中集成ip2region遇到的问题及终极解决办法
1、问题回顾按照ip2region项目的官方集成到springboot项目后,运行测试一切都ok,没有任何问题。但是当项目打成可执行的jar包后再运行,却显示找不到ip2region.db,无法找到资源文件的错误。异常代码如下:java.io.FileNotFoundException:classpathresourceip
Easter79 Easter79
3年前
TextureView onSurfaceTextureAvailable回调不执行
TextureView必须工作在硬件加速条件,否则什么都不执行.因为需要 android:hardwareAccelerated”true”或者 Windowwactivity.getWindow();w.setFlags(WindowManager.LayoutParams.FLAG\_HARDWARE\_ACCELERATED);
Stella981 Stella981
3年前
Homestead 无法挂载共享目录解决方案
那么不废话。我执行homesteadup。虚拟机启动没问题、SSH连接没问题,但是到了挂载的时候报错:FailedtomountfoldersinLinuxguest.Thisisusuallybecausethe"vboxsf"filesystemisnotavailable.Pleasever
Stella981 Stella981
3年前
Linux进程后台执行nohup(OpenTSDB后台运行方法)
1.问题描述OpenTSDB执行./tsdbtsd启动之后,占有控制台执行并且CtrlC后就退出了,关闭控制台同样会退出。2.解决方法(在/opt/module/opentsdb2.3.1/build/目录下)nohup./tsdbtsd/dev/null2&1&其中: nohup:不挂断运行 
Stella981 Stella981
3年前
Mybatis设置sql超时时间
开始搭建项目框架的时候,忽略了sql执行超时时间的问题.原本使用.net开发是,默认的超时时间是30s,这个时间一般一般sql是用不到的,但也不排除一些比较复杂或数据量较大的sql.而java中,如果不指定,默认超时时间是不做限制的,默认值为0.由于我们的项目采用Mybatis进行数据库操作,经过查看Mybaits相关文档,配置sql超时时间有两种
Stella981 Stella981
3年前
AndroidAnnotations 使用
下面部分是基于2.6上使用的注解和解释AfterInject定义的方法在类的构造方法执行后执行AfterTextChange定义的方法在TextView及其子类的Text属性改变后执行AfterViews定义的方法在setContentView后执行Background定义的方法在后台线程执行BeforeTextCha
Stella981 Stella981
3年前
Angular单元测试如何只执行指定的测试用例,提高测试速度
Angular项目的规模一旦变大,待执行的单元测试的数目可能是海量的。此时在开发新的单元测试时,会遇到需要屏蔽到系统里已经非常稳定的测试,而只执行正在开发的新单元测试。这个需求如何实现呢?每个Angular项目文件夹下都有test.ts,里面有一行语句,指定了该项目下哪些ts文件里的单元测试会执行:constcontextrequi
Wesley13 Wesley13
3年前
Git中代码冲突的解决方式
使用Git管理代码,在进行代码提交的时候,如果出现了冲突该怎么办呢,下面就两种常见的冲突给出了解决方法,希望对大家有所帮助。冲突1:当你commit以后,在执行gitpullrebase的时候出现冲突,请按如下步骤解决:1 找到冲突文件,解决冲突2 执行gitaddxxx(xxx为冲突文件全路径)3 执行git
Junit执行器Runner探索之旅 | 京东云技术团队
单元测试是每个程序员必备的技能,而Runner是每个单元测试类必有属性。本文通过解读Junit源码,介绍junit中每个执行器的使用方法,让读者在单元测试时,可以灵活的使用Runner执行器。
前端CodeReivew实践 | 京东云技术团队
把CodeReview变成一种开发文化而不仅仅是一种制度把CodeReview作为开发流程的必选项后,不代表CodeReview这件事就可以执行的很好,因为CodeReview的执行,很大部分程度上依赖于审查者的认真审查,以及被审查者的积极配合,两者缺一不