gpt4 book ai didi

java - 如何单元测试 getClassLoader() 返回 null

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:39 25 4
gpt4 key购买 nike

根据 Class 的 javadoc

Returns the class loader for the class. Some implementations may use null to represent the bootstrap class loader.

当 getClassLoader 返回 null 时,我们必须对逻辑进行单元测试。我们正在使用 Java 的 sun 实现(Java 6)。我们怎样才能做到这一点。

最佳答案

我的第一个想法是模拟 Class 对象,但正如另一个问题中提到的:Mocking a class object using Mockito and PowerMockito

你不能。像 Mockito、Easymock(和 Powermock)这样的模拟对象库无法模拟引导类加载器加载的类,因为在加载模拟对象库时它们已经被加载了。所以它无法操作字节码。

因此,一个简单的解决方法是查看是否可以使用引导类加载器加载的类,例如 java.langjava.netjava.io 中的类)。

例如String.class.getClassloader()将返回null

如果您无法轻松使用引导类进行测试,那么我不会太担心该分支,因为它无法在生产中执行。

关于java - 如何单元测试 getClassLoader() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352137/

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