我必须做一个电影院管理系统。但是我有一个构造函数的问题。仅当我尝试在junit测试的setUp函数中使用ist时,才会显示错误消息(未定义构造函数Kinosaal(int,Kino,int)。
这是Contructor,在Junit测试中不起作用:
public Kinosaal(int nummer, Kino kino, int kapazitaet) {
if(kino.enthaeltSaalNummer(nummer)) {
try {
this.finalize();
} catch (Throwable e) {
e.printStackTrace();
}
}else {
this.nummer = nummer;
this.kino = kino;
this.kapazitaet = kapazitaet;
kino.addKinosaal(this);
}
}
这是另一个类的代码的一部分,在这里我可以毫无问题地使用构造函数。
public static void main(String args[]){
Kino k1 = new Kino("City");
m.getUnternehmen().addKino(k1);
Kinosaal kino1Saal1 = new Kinosaal(1, k1, 750);
}
但是当我在此测试的SetUp功能中使用它时,它将不再起作用。
package de.ostfalia.sitzplatzreservierung;
import static org.junit.Assert.fail;
import java.time.Duration;
import java.time.LocalDateTime;
import org.junit.Before;
import org.junit.Test;
import de.ostfalia.sitzplatzreservierung.Kino;
import de.ostfalia.sitzplatzreservierung.Kinosaal;
import de.ostfalia.sitzplatzreservierung.Filmvorfuehrung;
import de.ostfalia.sitzplatzreservierung.Film;
public class FilmvorfuehrungTest {
@Before
public void setUp() throws Exception {
Film film = new Film("Avengers", Duration.ofMinutes(180));
Kino k1 = new Kino("City");
m.getUnternehmen().addKino(k1);
//Hinzufügen der Kinosäle
Kinosaal kino1Saal1 = new Kinosaal(1, k1, 750); //Here it says the constructor is undefined
Filmvorfuehrung film1 = new Filmvorfuehrung(film,
LocalDateTime.of(2019, 6, 22, 20, 00),kino1Saal1, false);
}
}