maven 测试写入JRE参数实例详解
maven 测试写入JRE参数实例详解
项目在测试时碰到一个问题,就是JVM加载参数的问题。
web项目本身在注入配置信息的时候,读取的是本地的配置文件,但是配置文件的位置是卸载tomcat 里面配置的JAVA_OPTS里面的。
问题出现了:
JAVA_OPTS将变量写入了JRE,但是在执行maven test的时候,是没有写入JRE参数的,所以在进行诸如service等涉及到数据库的测试的时候,将无法正确加载数据库的配置,导致无法进行数据库测试。
解决方案:
使用configuration来注入参数到JRE当中,这样就可以将参数写入JRE了,然后即可读取本地的配置文件
pom代码如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkMode>pertest</forkMode> <argLine>${maven.test.jvmargs}</argLine> </configuration> </plugin>
maven plugin
可以使用该plugin,maven本身不提供测试的,使用的是该插件,通过注入argLine可以方便我们注入一些JVM的参数
比如我在进行spring测试的时候,因为将一些敏感信息配置到配置文件中,所以文件本身是不在项目中的,目前只能通过注入jvm参数,然后就可以通过System.getProperty来获取到对应的参数
至于forkMode是测试指定的参数。
forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”。
参数 | 解释 |
---|---|
pretest | 每一个测试创建一个新进程,为每个测试创建新的JVM是单独测试的最彻底方式,但也是最慢的,不适合hudson上持续回归 |
once | 在一个进程中进行所有测试。once为默认设置,在Hudson上持续回归时建议使用默认设置。 |
always | 在一个进程中并行的运行脚本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供这个功能,其中threadCount执行时,指定可分配的线程数量。只和参数parallel配合使用有效。默认:5。 |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- SpringBoot使用Maven插件进行项目打包的方法
- 详解Maven多模块打包遇到的问题解决方法
- Maven pom.xml 添加本地jar包依赖以及打包方法
- 关于maven打包时的报错: Return code is: 501 , ReasonPhrase:HTTPS Required
- maven 使用assembly 进行打包的方法
- maven将项目打包上传到nexus私服的详细教程
- Maven3种打包方式中maven-assembly-plugin的使用详解
- springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)
- 如何在Maven项目中运行JUnit5测试用例实现
- Maven构建时跳过部分测试的实例
- Maven打包跳过测试的三种方法
相关文章
阿里云主机不能用IP访问网站的解决方法(配置安全组规则搞定)
刚买了一台阿里云主机,迫不待及的试试速度,怎知网站访问不了,用IP或绑定域名都无法访问,后来提交工单才知道,需要配置安全组规则才行。针对同样像我一样的新手,本文就介绍一下如何在开通阿里云主机后配置安全组规则,让网站能够外网访问,需要的朋友可以参考下2020-07-07服务器负载均衡是什么意思(服务器负载均衡的基本功能和实现原理)
这篇文章主要介绍了服务器负载均衡是什么意思,服务器负载均衡的基本功能和实现原理,需要的朋友可以参考下2017-08-08502 bad gateway是什么意思 502 bad gatewa
简单来说 502 是报错类型代码 bad getway 错误的网关,连接超时 我们向服务器器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错2013-03-03cwrsync invalid uid nobody 解决方法
这篇文章主要介绍了使用rsync/cwrsync工具进行档案同步的时候出现invalid uid nobody错误的解决方法,需要的朋友可以参考下2016-03-03
最新评论