日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

surfire单元测试添加jvm参数

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 surfire单元测试添加jvm参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有人配置jvm 參數可以是上面形式: <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><systemPropertyVariables><jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile></systemPropertyVariables><argLine>${argLine} -XX:NewSize=128m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=768m</argLine></configuration></plugin>


如果添加

-noverify -XX:-UseSplitVerifier

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><systemPropertyVariables><jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile></systemPropertyVariables><argLine>${argline} -noverify -XX:-UseSplitVerifier -XX:NewSize=128m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=768m</argLine></configuration></plugin>

會報錯!!!!!!!!!!!!!!!

去掉${argLine}? 改成-noverify -XX:-UseSplitVerifier -XX:NewSize=128m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=768m 才正常!!!!

為什么呢??????????????????????

官網上配置參數:? 連接http://maven.apache.org/components/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html

<plugins> [...]<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.20.1</version><configuration><forkCount>3</forkCount><reuseForks>true</reuseForks><argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine><systemPropertyVariables><databaseSchema>MY_TEST_SCHEMA_${surefire.forkNumber}</databaseSchema></systemPropertyVariables><workingDirectory>FORK_DIRECTORY_${surefire.forkNumber}</workingDirectory></configuration></plugin> [...] </plugins>

講解:

<argLine>${argLine} -XX:NewSize=128m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=768m</argLine></configuration>其實是${argLine}變量和后面參數的拼接,argLine變量上面又沒有聲明,所以會出錯,有的構建直接會取jacoco中默認的argLine變量,因為jacoco插件中會默認聲明,且初始是空字符串,所有構建又不會報錯。

所以正確方式是沒有${argLine}的。
jacoco 源碼:


@Overridepublic void executeMojo() {final String name = getEffectivePropertyName();final Properties projectProperties = getProject().getProperties();final String oldValue = projectProperties.getProperty(name);final String newValue = createAgentOptions().prependVMArguments(oldValue, getAgentJarFile());getLog().info(name + " set to " + newValue);projectProperties.setProperty(name, newValue);}String getEffectivePropertyName() {if (isPropertyNameSpecified()) {return propertyName;}if (isEclipseTestPluginPackaging()) {return TYCHO_ARG_LINE;}return SUREFIRE_ARG_LINE;}static final String SUREFIRE_ARG_LINE = "argLine";


總結

以上是生活随笔為你收集整理的surfire单元测试添加jvm参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。