Java 如何使用hprof运行maven单元测试

Java 如何使用hprof运行maven单元测试,java,maven,hprof,Java,Maven,Hprof,我正试图弄明白为什么单元测试的运行时间是几秒钟而不是几毫秒。这是一个重要的问题,因为超过300个测试类,这需要20分钟。我希望在maven单元测试中使用性能分析器(比如JavaHPROF)。然后我将自己分析hprof输出。我将下面的argline配置添加到我的surefire插件块中 <configuration> <forkMode>never</forkMode> <argLine> -agentlib:hpro

我正试图弄明白为什么单元测试的运行时间是几秒钟而不是几毫秒。这是一个重要的问题,因为超过300个测试类,这需要20分钟。我希望在maven单元测试中使用性能分析器(比如JavaHPROF)。然后我将自己分析hprof输出。

我将下面的argline配置添加到我的surefire插件块中

<configuration>
    <forkMode>never</forkMode>
    <argLine>
        -agentlib:hprof=cpu=samples,lineno=y,depth=3,file=hprof.samples.txt
    </argLine>
    ...
<configuration>

从未

)。这将提示您代码的哪一部分正在减慢速度。在我的例子中,它是reuseFork=never和类加载的组合。

我将下面的argline配置添加到我的surefire插件块中

<configuration>
    <forkMode>never</forkMode>
    <argLine>
        -agentlib:hprof=cpu=samples,lineno=y,depth=3,file=hprof.samples.txt
    </argLine>
    ...
<configuration>

从未

)。这将提示您代码的哪一部分正在减慢速度。在我的例子中,它是reuseFork=never和类加载的组合。

如果您通过maven运行测试,您将得到每个测试类运行测试的结果。之后,您可以深入到最耗时测试的类中…是的。问题不是有一个特殊的慢速测试类。它们都是:(如果你通过maven运行测试,你会得到每个测试类运行测试的结果……之后你可以深入到最耗时的测试类……是的。问题不是有一个特别慢的测试类。都是这样的:(