自动化测试junit工具evosuite踩坑记

1 篇文章 0 订阅
1 篇文章 0 订阅

注:开发工具idea,自动化测试junit工具evosuite

说是踩坑记,到不如说是自己对idea的“Terminal”的执行机制不是很了解,对idea、maven之间如何的调用不是很了解,只是在工程maven配置上对应的本地settings文件即可。

从去年开始,公司一直要求产品版本发版时都要通过发布平台进行,而发布平台发布有两个硬性指标,“单元测试覆盖率”、“安全测试”都要达到公司的指定要求才可以发布。

因此在单元测试覆盖率上,为了节省开发时间,没有采用手工编写单测用例代码,而是采用了基于junit的工具evosuite来自动生成单元测试用例。每次发版之前只要通过自动化生成单测用例的方式来达到单测覆盖率的要求。

最开始使用了几次单测用例的生成都没有问题,后来再进行一次发版时,无论怎么对工程进行clean、install、deploy都无济于事,总是报下面的错误,依赖的基础包的pom文件找不到:

[WARNING] The POM for com.xx.xxxx:xxxx-core:jar:2.0.1-SNAPSHOT is missing, no dependency information available

.....

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.758 s
[INFO] Finished at: 2021-03-12T09:40:34+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project manage-openapi: Could not resolve dependencies for project com.xx.xxxx:xxxx-openapi:jar:2.0.2-SNAPSHOT: The following artifacts could not be resolved: com.xx.xxxx:xxxx-core:jar:2
.0.1-SNAPSHOT, com.xx.xxxx:xxxx-log:jar:2.0.1-SNAPSHOT, com.xx.xxxx:xxxx-cache:jar:2.0.1-SNAPSHOT, com.xx.xxxx:xxxx-work:jar:2.0.2-SNAPSHOT: Could not find artifact com.xx.xxxx:xxxx-core:jar:2.0.1-SNAPSHOT -> [He
lp 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

 

起初以为是底层平台打包的问题,重新打包,问题依旧存在。同时也根据所报的问题,在网上查了许多的资料,只是网上的资料基于上都是copy来copy去的,主要都是maven配置文件的路径问题以及maven的settings文件中账号、密码、私服地址等的问题。

按网上说的方式进行排查,发现自己本机配置的都没有问题。从而又联想到了是不是nexus权限、阿里云OSS权限或安全机制有了变化的问题。自己也试着重新在本地搭建了nexus。但事以愿违,问题依旧,让人很是崩溃。

这个问题从第一次发现到现在已经将近快3个月的时间了。过程中也经历了几次版本的发布,都另辟新径用自己的另一台电脑上的环境来跑单测(非常庆幸,当时还能跑单测的只有这台救命的稻草了,过程中也进行了多次的比对,一直都没有找到为什么这台电脑可以,都有着想重新做系统的冲动),但心里一直都有一个大大的“?”。为什么这台下的指定配置可以运行,很是摸不着头脑。也进行了多次比较,找不到原因。

昨天下定决心一定要想办法解决。解决了一天,就在临近要放弃的边缘,想着利用加班的时间让同事帮着试一下时,新建的nexus下缺少一个jar包,需要从本地上传。而在上传的过程中一直报无权限。

这时预感到困扰许久的问题有些知道问题所在了。最大的可能就出在maven的settings.xml文件上。

在我本地maven的conf目录下,为了方便管理,配置了几个settings.xml文件,用于不同工作空间的项目使用,如:settings-aaa.xml、settings-bbb.xml

而在idea工程中的“Terminal”执行mvn命令时,所默认找的就是maven的conf目录下默认的settings.xml文件。而不会根据idea maven project setting下配置的如:settings-aaa.xml文件指定的仓库去匹配执行,这就造成了工程根下pom中配置的maven仓库地址与“Terminal”执行mvn命令默认的maven的conf目录下默认的settings.xml文件中的匹配不上,也就造成了上面图中的问题所在。因此果断的修改了要使用的settings文件名。然后再次执行生成测试用例的mvn命令。成功完成。

一个不起眼的小问题,目的是为了把settings.xml名弄的可读性更高,方便使用,反而适得其反!

                                                       

 

说明:自动化测试junit工具evosuite的使用可以参见https://download.csdn.net/download/josong/11965837

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值