有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用泛型的方法的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) 个答案

  1. # 1 楼答案

    此泛型表示您正在将任何扩展命令类的类作为参数传递。您必须创建一个扩展命令类的类,或者使用现有的实现。我不确定在您的情况下,Command类是什么,它是具体类还是抽象类,或者是否存在现有的实现,因此如果没有更多信息,我无法提出任何建议

    正如我提到的,您可以创建自己的类并使用它,尽管:

    class MyClass extends Command {
       public MyClass() {}
    
       public void implementedMethod() {}
    }