gradle安装单元测试坎坷历程

参考,欢迎点击原文:https://blog.csdn.net/qq_42815122/article/details/85395111(灵感)

自己写的用户系统要加上单元测试,加就加吧,跟着网上的好几篇文章都走不通,会报错。but公司的项目却能够很直接的执行成功,再多次尝试百度找到解决办法无果后,决定照着公司的项目慢慢改和摸索了

开始时候写ServiceTest时候上面两个注解没有,需要引入测试包

    // test
    testImplementation group: 'junit', name: 'junit', version: '4.12'
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)

注解成功引入。

接下来直接执行我写的test方法吧,发现报错,如下图
在这里插入图片描述
这个是没有找到test工具吧,于是百度,好几个说把这边gradle的test改成idea的test就好了,我改了
在这里插入图片描述
再跑下继续报错,如下图
在这里插入图片描述
这就是启动框架时候出问题了,这不问题更大么,算了我还是照着公司项目走吧,使用gradle跑单元测试,继续回归本源看build.gradle,发现底下的测试调用的方法不能点,而公司的项目可以点
在这里插入图片描述

看了公司项目如果使用gradle跑单元测试的话会使用gradle/wrapper/gradle-wrapper.properties,这里面写的是下图
在这里插入图片描述
就是定义了使用哪里的gradle和gradle的版本,我想换成公司的gradle版本4.1让这个方法可以点,然后再跑下,提示英文跟我的springboot2.6.6版本不兼容,好吧,不改这个gradle-wrapper.properties了

然后继续百度看文章有没有些灵感,看到可以把底下的改成下图这个形式,发现可以点了在这里插入图片描述
先保留吧
接着继续跑下测试,还是报之前那个错
在这里插入图片描述
想了想test没有找到,难道是@Test注解出了问题?对比下公司项目,果然引错了

在这里插入图片描述
我把改成了import org.junit.jupiter.api.Test; 继续跑,继续报错,如下图
在这里插入图片描述
虽然报错信息很多,我也看不了这么多,最后有个链接,我点开发现有个网页专门用来显示你的测试的,如下图
在这里插入图片描述
我点开这个方法的报错详情,继续百度,看到一个小哥文章提示的很好,说就看Caused by 后面的东西,看了后我发现说
在这里插入图片描述
抛异常除了问题,因为我是用的是公司包的抛异常,所以这块是很让人纠结的,是公司包的抛异常出来了,还是就是公司包抛异常除了问题,emmm死马当活马医,看下公司的包,发现compileOnly,只在编码的时候生效,这不行啊,我这是测试阶段啊,要放出来,于是改成了implementation。
在这里插入图片描述
再试下,可以了
总结:gradle更熟练会少很多事

下图总结图

在这里插入图片描述

posted @ 2022-04-23 23:03  蜗牛使劲冲  阅读(28)  评论(0编辑  收藏  举报  来源