JUnit上的Java失败案例从子类调用方法

时间:2015-06-03 15:58:55

标签: java methods junit subclass

我有类Alieni的子类Alieni中的构造函数Settore,它将名称ALIENIenum Nome设置为某个Settore(由整数coordinataXcoordinataY组成)。

我正在尝试进行的测试是在我在同一Alieni上运行方法Settore(3,10)后运行方法getSettoreNomeSettore之后验证它应该返回名称ALIENI,但它会返回null

import static org.junit.Assert.*;
    public class Settore {
            private Nome settoreNome;
            private final int coordinataX;
            private final int coordinataY;

        public Settore (int coordinataX, int coordinataY){
            this.coordinataX=coordinataX;
            this.coordinataY=coordinataY;
        }
        public Nome getSettoreNome() {
            return settoreNome;
        }
        public void setSettoreNome(Nome settoreNome) {
            this.settoreNome = settoreNome;
        }

    }
public enum Nome {
SICURO, PERICOLOSO, SCIALUPPA, ALIENI, UMANI
}
public class Alieni extends Settore {

    public Alieni(int coordinataX, int coordinataY) {
        super(coordinataX, coordinataY);
        setSettoreNome(Nome.ALIENI);
    }
}
public class AlieniTest {

    @Test
    public void testAlieni() {
        Settore settore = new Settore(3,10);
        new Alieni(3,10);
        assertEquals(Nome.ALIENI, settore.getSettoreNome());
    }

}

1 个答案:

答案 0 :(得分:1)

您没有在任何地方分配Alieni的新实例。据推测,您打算将其分配给settore

public class AlieniTest {

    @Test
    public void testAlieni() {
        Settore settore = new Alieni(3,10);
        assertEquals(Nome.ALIENI, settore.getSettoreNome());
    }
}