Использование forName для извлечения класса в тестовом модуле через main - PullRequest
0 голосов
/ 04 октября 2018

В моем основном модуле у меня есть код, который использует 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

Какя могу решить это?

1 Ответ

0 голосов
/ 04 октября 2018

Канонические имена отлично подходят для хорошего форматирования, но это не то, что вы ищете.Вы должны использовать Class#getName вместо:

String fullClassName = DummyEntity.class.getName();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...