maven 測(cè)試寫(xiě)入JRE參數(shù)實(shí)例詳解
maven 測(cè)試寫(xiě)入JRE參數(shù)實(shí)例詳解
項(xiàng)目在測(cè)試時(shí)碰到一個(gè)問(wèn)題,就是JVM加載參數(shù)的問(wèn)題。
web項(xiàng)目本身在注入配置信息的時(shí)候,讀取的是本地的配置文件,但是配置文件的位置是卸載tomcat 里面配置的JAVA_OPTS里面的。
問(wèn)題出現(xiàn)了:
JAVA_OPTS將變量寫(xiě)入了JRE,但是在執(zhí)行maven test的時(shí)候,是沒(méi)有寫(xiě)入JRE參數(shù)的,所以在進(jìn)行諸如service等涉及到數(shù)據(jù)庫(kù)的測(cè)試的時(shí)候,將無(wú)法正確加載數(shù)據(jù)庫(kù)的配置,導(dǎo)致無(wú)法進(jìn)行數(shù)據(jù)庫(kù)測(cè)試。
解決方案:
使用configuration來(lái)注入?yún)?shù)到JRE當(dāng)中,這樣就可以將參數(shù)寫(xiě)入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本身不提供測(cè)試的,使用的是該插件,通過(guò)注入argLine可以方便我們注入一些JVM的參數(shù)
比如我在進(jìn)行spring測(cè)試的時(shí)候,因?yàn)閷⒁恍┟舾行畔⑴渲玫脚渲梦募?,所以文件本身是不在?xiàng)目中的,目前只能通過(guò)注入jvm參數(shù),然后就可以通過(guò)System.getProperty來(lái)獲取到對(duì)應(yīng)的參數(shù)
至于forkMode是測(cè)試指定的參數(shù)。
forkMode 可設(shè)置值有 “never”, “once”, “always” 和 “pertest”。
| 參數(shù) | 解釋 |
|---|---|
| pretest | 每一個(gè)測(cè)試創(chuàng)建一個(gè)新進(jìn)程,為每個(gè)測(cè)試創(chuàng)建新的JVM是單獨(dú)測(cè)試的最徹底方式,但也是最慢的,不適合hudson上持續(xù)回歸 |
| once | 在一個(gè)進(jìn)程中進(jìn)行所有測(cè)試。once為默認(rèn)設(shè)置,在Hudson上持續(xù)回歸時(shí)建議使用默認(rèn)設(shè)置。 |
| always | 在一個(gè)進(jìn)程中并行的運(yùn)行腳本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供這個(gè)功能,其中threadCount執(zhí)行時(shí),指定可分配的線程數(shù)量。只和參數(shù)parallel配合使用有效。默認(rèn):5。 |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- SpringBoot使用Maven插件進(jìn)行項(xiàng)目打包的方法
- 詳解Maven多模塊打包遇到的問(wèn)題解決方法
- Maven pom.xml 添加本地jar包依賴以及打包方法
- 關(guān)于maven打包時(shí)的報(bào)錯(cuò): Return code is: 501 , ReasonPhrase:HTTPS Required
- maven 使用assembly 進(jìn)行打包的方法
- maven將項(xiàng)目打包上傳到nexus私服的詳細(xì)教程
- Maven3種打包方式中maven-assembly-plugin的使用詳解
- springboot+idea+maven 多模塊項(xiàng)目搭建的詳細(xì)過(guò)程(連接數(shù)據(jù)庫(kù)進(jìn)行測(cè)試)
- 如何在Maven項(xiàng)目中運(yùn)行JUnit5測(cè)試用例實(shí)現(xiàn)
- Maven構(gòu)建時(shí)跳過(guò)部分測(cè)試的實(shí)例
- Maven打包跳過(guò)測(cè)試的三種方法
相關(guān)文章
WordPress升級(jí)版本及安裝插件出現(xiàn)”P(pán)roblem with the SSL CA cert”的解決辦法
最近有很多很有在使用WordPress升級(jí)版本及安裝插件時(shí)總是提示Problem with the SSL CA cert的問(wèn)題,如何解決呢?下面小編把我的解決辦法分享給大家,需要的朋友可以參考下2015-10-10
cwRsync 錯(cuò)誤 uid/gid 4294967295 (-1) is impossible to set on
今天在同步文件的時(shí)候,因?yàn)橛昧?.3的新版本,出現(xiàn)了這個(gè)問(wèn)題,cwRsync 錯(cuò)誤 uid/gid 4294967295 (-1) is impossible to set on,后來(lái)參考下面的方法解決了,特分享一下方便需要的朋友2016-08-08
Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程詳解
這篇文章主要介紹了Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程詳解,需要的朋友可以參考下2017-01-01
寶塔面板phpMyadmin數(shù)據(jù)庫(kù)管理出現(xiàn)500錯(cuò)誤的解決方法
寶塔面板phpMyadmin數(shù)據(jù)庫(kù)管理出現(xiàn)500錯(cuò)誤的解決方法,經(jīng)常會(huì)出現(xiàn)數(shù)據(jù)庫(kù)管理phpMyadmin打不開(kāi),或則出現(xiàn)500內(nèi)部服務(wù)器錯(cuò)誤,本文介紹如果出現(xiàn)這個(gè)問(wèn)題該如何解決2023-08-08
親自教你在netty中使用TCP協(xié)議請(qǐng)求DNS服務(wù)器的詳細(xì)過(guò)程
DNS的全稱domain name system,既然是一個(gè)系統(tǒng)就有客戶端和服務(wù)器之分,這篇文章主要介紹了在netty中使用TCP協(xié)議請(qǐng)求DNS服務(wù)器的全過(guò)程,需要的朋友可以參考下2022-07-07
推薦站長(zhǎng)必備的六款免費(fèi)好用的FTP軟件工具
FTP軟件有很多,大大小小幾十個(gè)都有,但是對(duì)于這樣重要的運(yùn)維工具,一定要注意安全隱患否則你的數(shù)據(jù)就會(huì)被黑客輕易篡改2024-01-01

