在我的主模块中,我有一些使用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
我该如何解决?
最佳答案
规范名称非常适合用于良好的格式设置,但这不是您想要的。您应该使用Class#getName
代替:
String fullClassName = DummyEntity.class.getName();
关于java - 使用forName通过main在测试模块中检索类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52648936/