Работаю над тестированием Junit, столкнулся с проблемой.
У меня есть суперкласс транспортного средства, а также подклассы мотоциклов и автомобилей. Мне нужно использовать методы в суперклассе для получения информации в подклассе (идентификатор строки, прибытие int)
public class MotorCycle extends Vehicle {
public String bikeID;
public int arrivalTimeA;
public MotorCycle(String vehID, int arrivalTime) throws VehicleException {
super(bikeID, arrivalTimeA);
bikeID = vehID;
arrivalTimeA = arrivalTime;
С каким подклассом я работаю, и я хочу использовать методы из транспортного средства суперкласса для получения информации от мотоцикла.
public Vehicle(String vehID,int arrivalTime) throws VehicleException {
vehicleID = vehID;
arrivalTimeA = arrivalTime;
if (arrivalTime <=0){
throw new VehicleException("Vehicle");
}
public String getVehID() {
return vehicleID;
}
Пробовал использовать super(vehID, прибытияTime) в подклассе, но я должен сделать переменные статическими, что не подходит для этой программы.
Всякий раз, когда я добавляю super(vehID, прибытияTime), я продолжаю получать сообщения об ошибках «Сделать переменные статическими», если я этого не сделаю, он просто не работает должным образом и дает сбой.
Что у меня есть для моего теста:
@Test
public void testGetVehID() throws VehicleException {
moto = new MotorCycle("b1234", 600);
veh = moto;
String id = veh.getVehID();
assertEquals("b1234", id);// TODO
}
veh — это просто пустой объект класса Vehicle.
У меня проблемы с доступом к информации. Каждый раз, когда я запускаю этот тест или что-то подобное, значение равно 0 для int или null для строк.