java - 自动查找泄漏内存的 JUnit 测试的方法

标签 java unit-testing memory-leaks junit

我们问题的根源是单例。但是单例模式很难被破坏,同时我们有很多使用单例模式的单元测试,而没有在tearDown()方法中小心地完全清除它们。我认为检测此类测试的一个好方法是寻找内存泄漏。如果在tearDown()和System.gc()之后使用的内存比测试开始时使用的内存多,则测试泄漏或类加载器加载了更多类。有没有办法自动检测此类问题?

最佳答案

您能否在 TestCase 和您的各个测试类之间引入一个子类来进行清理?那么子类将只负责调用 super.teardown() - 并且只有那些拥有自己的teardown() 的子类。

关于java - 自动查找泄漏内存的 JUnit 测试的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/863948/

相关文章:

java - 为什么这个打印是NULL?

java - 生成多个范围之间的随机数

unit-testing - Mockito 使用不同的 Class 参数调用相同的方法

phpunit 仅为特定文件夹生成 html 格式的覆盖率报告

java - App 类中的静态上下文 - 内存泄漏

python - 如何在 python 2.7 下安装 heapy?

java - Android最佳实践——下载图片

java - 这个 SQL 语句可以在 JPQL + 指南中使用吗?

unit-testing - 对 Mock Object 的期望似乎没有得到满足(Moq)

c++ - 在 Visual Studio 单元测试中检查内存泄漏