在我的主模块中,我有一些使用forName()的代码。在JUnit测试中,我创建了一个哑类,试图从主模块中检索它。
public class TestClass {
public static class DummyClass implements OtherClass { ... }
@Test
void testCase() {
ParserHandler parserHandler = new ParserHandler();
String fullClassName = DummyEntity.class.getCanonicalName();
// fullClassName is used in the following method which uses forName()
parserHandler.run(fullClassName);
}
每当我尝试这样做,我都会得到:
java.lang.ClassNotFoundException: com.x.y.TestClass.DummyEntity
我该如何解决?
答案 0 :(得分:0)
规范名称非常适合用于良好的格式设置,但这不是您要查找的。您应该改用Class#getName
:
String fullClassName = DummyEntity.class.getName();