当前位置: 首页 > 知识库问答 >
问题:

cargo-maven2-plugin的集成测试在停止时有内存泄漏

宰父衡
2023-03-14

各位,我使用插件cargo-maven2-plugin在Tomcat8上运行集成测试(等待tomcat8-maven-plugin)

不幸的是,当我停止容器时,我有这样一个堆栈:

   <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.4.9</version>
                    <executions>
                        <execution>
                            <id>start-container</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>start</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>run</id>
                            <configuration>
                                <configuration>
                                    <properties>
                                    </properties>
                                </configuration>
                            </configuration>
                            <goals>
                                <goal>run</goal>
                                <goal>start</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>stop-container</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                            <configuration>
                                <timeout>20000</timeout>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <container>
                            <containerId>tomcat8x</containerId>
                            <zipUrlInstaller>
                                <url>${tomcat8.url}</url>
                            </zipUrlInstaller>
                            <systemProperties>
                                <tomcat.instance.name>sportInfoIT</tomcat.instance.name>
                                <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                            </systemProperties>
                        </container>
                        <configuration>
                            <type>standalone</type>
                            <home>${environment.catalina.home}</home>
                            <properties>
                                <cargo.servlet.port>9084</cargo.servlet.port>
                                <path>/${project.build.finalName}</path>
                            </properties>
                            <files>
                                <file>
                                    <file>${project.build.testOutputDirectory}</file>
                                    <todir>lib</todir>
                                </file>
                            </files>
                        </configuration>
                        <deployables>
                            <deployable>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <type>war</type>
                                <location>${project.build.directory}/${project.artifactId}-${project.version}.war
                                </location>
                                <properties>
                                    <context>${project.build.finalName}</context>
                                </properties>
                            </deployable>
                        </deployables>
                        <deployer>
                            <type>installed</type>
                        </deployer>
                    </configuration>
                </plugin>

共有1个答案

蔺德曜
2023-03-14

为什么要执行两次启动目标?它处于前整合阶段,然后逐渐超越。也许这就是你的问题?我的意思是你在两个线程中运行了两次。为什么运行执行配置为空?

 类似资料:
  • 问题内容: 由于这是我第一次学习系统编程,因此我很难将规则束之高阁。现在,我对内存泄漏感到困惑。让我们考虑一个例子。说,Rust正在抛出一个Python将会捕获的指针(指向字符串)。 在Rust中,(我只是发送的指针) 在Python中,(我取消引用了指针) 现在,我的问题是释放内存。我认为应该在Python中将其释放,但随后所有权会突然增加。因为,似乎采用了不可变的参考。因此,我对于是否应该在R

  • 问题内容: 我是否必须将集成测试与其余的单元测试放在一起,并仅通过诸如,的模式将它们区分开来,或者它们可以存在(开发Maven插件并使用时就是这种情况)? 我之所以这样问是因为,对我来说,如果单元测试和集成测试都放在同一位置,那看起来还不够干净(即使它们是通过Maven配置文件控制的)。 问题答案: 默认情况下,第一个maven-fails-plugin会在另一个生命周期阶段(集成测试)中运行,就

  • 问题内容: 您可能已经知道,我们中许多拥有大量书面单元测试的人都遇到了这个不容易解决的问题。根据AngularJs 单元测试指南,我使用Jasmine语法编写了大约3500多个单元测试。测试是使用KarmaRunner执行的。 问题是由于内存泄漏,它们无法一次全部执行。在运行它们时,无论在哪个浏览器上运行它们,内存都会累积,并且有时浏览器崩溃并断开连接。我现在知道的最好的解决方法是,在社区中使用的

  • 我正在使用org.AsynchTtpClient发布异步请求。 在关闭tomcat时,我得到了以下日志: 严重:web应用程序[/test]似乎启动了一个名为[pool-1-thread-1]的线程,但未能停止它。这很有可能造成内存泄漏。 2017年7月4日10:53:00 AM org.apache.catalina.loader.webappclassloaderbase clearRefer

  • 问题内容: 我正在设计一个Web应用程序,该应用程序旨在显示一堆使用AJAX定期更新的数据。一般的使用场景是用户将整天保持打开状态,然后不时浏览一下。 我遇到的问题是浏览器的内存占用量随时间缓慢增长。Firefox和IE 7(尽管不是Chrome)都在发生这种情况。几个小时后,它可能导致IE7占用约200MB的内存,而FF3导致占用约400MB的内存。 经过大量测试,我发现只有在响应AJAX调用时

  • 我正在使用空手道为Spring Boot应用程序进行集成测试。应用使用另外两个服务(服务A和服务B)。我已经为服务A和服务B编写了空手道模拟。我的集成测试是作为两个不同的功能文件编写的。其中一个特性是使用服务A和服务B的Mocks测试的。另一个特性使用服务B的Mocks和服务A的Spring契约存根。 仅具有模拟的功能 具有mock和Spring契约存根的特性 现在,当我们运行测试时,第二个失败了