如何在所有JUnit测试中集成Spring Instrument javaagent

问题描述 投票:2回答:1

我正在一个大型项目上编写单元测试,需要将JVM参数传递给这些项目,这些是我在该项目的Eclipse运行配置中内置的JVM参数:

--module-path lib/javafx-sdk-13.0.2/lib --add-modules=javafx.controls
-javaagent:lib/aspectjweaver-1.9.5.jar 
-javaagent:lib/spring-instrument-5.2.3.RELEASE.jar

我的问题是,我需要为每个JUnit测试或测试序列添加这些参数。有更好的方法吗?一种不必在我创建的每个新测试中手动添加这些参数的方法?

****** EDIT ******

这也有一个讨厌的副作用,就是根本不让我建立这个项目! Maven不会使用我的自定义JUnit运行配置为应用程序运行整套测试(这很好,因为我在其中设置了JVM参数),但是它自己的测试显然失败了,因为参数不存在。这是一个很大的问题,有没有办法将这些JVM参数直接以某种方式“硬编码”到POM中?

******编辑2 ******

这是我的POM.xml文件中的Spring-Boot-Maven-Plugin配置:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <jvmArguments>
            --module-path lib/javafx-sdk-13.0.2/lib 
            --add-modules=javafx.controls
            -javaagent:lib/aspectjweaver-1.9.5.jar 
            -javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
        </jvmArguments>
    </configuration>
</plugin>

谢谢!

java spring junit javaagents
1个回答
1
投票

您可以在surefire插件中设置jvm args。使用mvn test运行测试。有点像

© www.soinside.com 2019 - 2024. All rights reserved.