gpt4 book ai didi

java - 我如何对 GC 进行单元测试?

转载 作者:搜寻专家 更新时间:2023-10-31 19:34:49 24 4
gpt4 key购买 nike

对于一个项目,我们需要一种方法来运行用户脚本,这些脚本可以附带带有附加类的附加 JAR 文件。

当我想编写几个测试以确保普通脚本不会留下任何悬而未决的东西时,我有什么选择?

我特别需要知道:是否“卸载”了附加 JAR 中的所有类?

注意:我不是在寻找适用于从 1.0 到 7 的所有 Java 版本的 100% super 无懈可击的解决方案。现在,我只需要比“我不知道”更好。

最佳答案

可能最好的选择是确保您加载的 jar 由特定的类加载器加载,然后丢弃该类加载器(在丢弃所有对象之后)。

就单元测试卸载而言,如果选择此选项,则需要扩展测试框架和自定义类加载器以具有“按需创建类加载器”标志。然后你在标记打开的情况下加载类一次,丢弃类加载器,并尝试在标记关闭的情况下再次加载类。如果该类确实不可访问,则第二次尝试应该抛出类未找到异常。然后,如果单元测试落入异常,则包装单元测试以通过,如果在第二次加载尝试后成功命中线,则失败。

如果您不打算使用纯 Java 工具,那么 OSGi 容器可能是一个考虑因素。大多数已建立的 OSGi 容器实现都明确测试类卸载。

关于java - 我如何对 GC 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com