Java 从子类调用方法的 JUnit 案例失败
Java Failure on JUnit Case Calling a Method from a Subclass
我有 class Settore
的子class Alieni
的构造函数 Alieni
从 ALIENI
设置名称 ALIENI
enum
Nome
到某个Settore
(由整数coordinataX
和coordinataY
组成)。
我要进行的测试是验证在 运行 将方法 Alieni
转换为 Settore(3,10)
之后,当我 运行 方法 getSettoreNome
在同一个 Settore
上它应该 return 名称 ALIENI
但它 returns 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());
}
}
您没有在任何地方分配 Alieni
的新实例。大概您打算将其分配给 settore
:
public class AlieniTest {
@Test
public void testAlieni() {
Settore settore = new Alieni(3,10);
assertEquals(Nome.ALIENI, settore.getSettoreNome());
}
}
我有 class Settore
的子class Alieni
的构造函数 Alieni
从 ALIENI
设置名称 ALIENI
enum
Nome
到某个Settore
(由整数coordinataX
和coordinataY
组成)。
我要进行的测试是验证在 运行 将方法 Alieni
转换为 Settore(3,10)
之后,当我 运行 方法 getSettoreNome
在同一个 Settore
上它应该 return 名称 ALIENI
但它 returns 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());
}
}
您没有在任何地方分配 Alieni
的新实例。大概您打算将其分配给 settore
:
public class AlieniTest {
@Test
public void testAlieni() {
Settore settore = new Alieni(3,10);
assertEquals(Nome.ALIENI, settore.getSettoreNome());
}
}