使用泛型的方法的java单元测试
我在这个论坛上采用了以下方法,我无法理解如何编写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));
}
我必须初始化cmd以使其工作。我不知道该怎么做。如果我初始化为null,我会得到一个NPE
# 1 楼答案
此泛型表示您正在将任何扩展命令类的类作为参数传递。您必须创建一个扩展命令类的类,或者使用现有的实现。我不确定在您的情况下,Command类是什么,它是具体类还是抽象类,或者是否存在现有的实现,因此如果没有更多信息,我无法提出任何建议
正如我提到的,您可以创建自己的类并使用它,尽管: