Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @Override方法的JUnit测试_Java_Unit Testing_Junit_Interface - Fatal编程技术网

Java @Override方法的JUnit测试

Java @Override方法的JUnit测试,java,unit-testing,junit,interface,Java,Unit Testing,Junit,Interface,我有一个包含以下类的程序: public class Plane implements Flyable { private final int numberOfEngines; private final String model; public Plane(int engines, String m) { numberOfEngines = engines; model = m; } @Override

我有一个包含以下类的程序:

  public class Plane implements Flyable
{
    private final int numberOfEngines;
    private final String model;

    public Plane(int engines, String m)
    {
        numberOfEngines = engines;
        model = m;
    }

    @Override
    public String toString()
    {
        return String.format("%s with %d engines", model, numberOfEngines);
    }

    @Override
    public void launch() {
        System.out.println("Rolling until take-off");

    }

    @Override
    public void land() {
        System.out.println("Rolling to a stop");

    }
}
我目前正在尝试为toString、launch和land方法编写JUnit测试。这就是我到目前为止所做的:

class PlaneTest {

    @Test
    void testToString() {
        assertEquals("Boing with 4 engines", Plane.this.toString());
    }

    @Test
    void testLaunch() {
        fail("Not yet implemented");
    }

    @Test
    void testLand() {
        fail("Not yet implemented");
    }

我的问题是我一辈子都搞不清楚如何在Plane类中正确调用toString方法。Eclipse向我展示toString方法的唯一方式是在它前面加上“this”,但是我不知道如何创建一个Plane实例供它使用。我已经花了太多的时间来思考这个问题,所以如果有人能在这里帮助我,我将不胜感激。提前谢谢你

您需要使用
Plan
实例调用它,因为
toString()
不是静态的,并且需要初始化类成员

@Test
void testToString() {
    assertEquals("Boeing with 4 engines", new Plane(4, "Boeing").toString());
}

真不敢相信这个解决方案有多容易。尽管如此,还是非常感谢你!!!