2016-04-28 7 views
0

Я взял на этом форуме следующий метод, и я не могу понять, как написать тест junit. Я заглянул в форум за ответами, но не нашел ничего конкретного. Надеюсь, кто-то знает?единичный тест для метода с использованием общих методов

Это мой метод:

public String replaceName(Class<? extends Command> cmd) { 
String str = cmd.getSimpleName().replaceAll("Command$", ""); 
} 

С Hamcrest Я пытаюсь что-то вроде:

@Test 
public void testIfBackupCommandIsChildOfCommand() { 
    Class<? extends Command> cmd ; 

    assertThat(expected, (Matcher) org.hamcrest.Matchers.instanceOf(cmd)); 
} 

Я должен инициализировать ЦМД для того, чтобы это работало. Я не уверен, как это сделать. Если я инициализирую null, я получаю NPE.

ответ

0

Это общее означает, что вы передаете в качестве параметра любой класс, который расширяет класс Command. Вам придется либо создать класс, который расширяет класс Command, либо использует существующую реализацию. Я не уверен, что класс Command в вашем случае, будь то конкретный или абстрактный класс, или если существуют существующие реализации, поэтому я не могу делать какие-либо предложения без дополнительной информации.

Как я уже говорил, вы можете просто создать свой собственный класс и использовать его, хотя:

class MyClass extends Command { 
    public MyClass() {} 

    public void implementedMethod() {} 
}