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。 |
谢谢浏览,但愿能帮忙到大家,感谢大家对本站的支撑!
热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板