Мне нужно написать модульные тесты для моих методов. У меня проблемы, потому что я новичок в JUnit. Мне нужно написать тест для метода getter созданного типа объекта. Тип объекта - UnitInfo, и мне нужно написать тест для методаТест JUnit для метода getter типа пользовательского объекта
@Override
public UnitInfo getInfo() {
return info;
}
в здании класса. Я поместил свой класс здания, класс UnitInfo и класс buildingTest в код ниже. Любая помощь приветствуется. Класс
package main.model.facility;
import java.util.List;
public class UnitInfo {
private int capacity;
private String name;
private int idNumber;
private List<String> details;
public int getCapacity() {
return capacity;
}
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIdNumber() {
return idNumber;
}
public void setIdNumber(int idNumber) {
this.idNumber = idNumber;
}
public List<String> getDetails() {
return details;
}
public void setDetails(List<String> details) {
this.details = details;
}
public void addDetail(String detail) {
details.add(detail);
}
public void removeDetail(String detail) {
details.remove(detail);
}
}
Строительство:
package main.model.facility;
import java.util.List;
public class Building extends Facility {
private List<IFacility<UnitInfo>> subunits;
private UnitInfo info;
private ScheduleManager schedule;
@Override
public UnitInfo getInfo() {
return info;
}
@Override
public ScheduleManager getScheduleManager() {
return schedule;
}
@Override
public List<IFacility<UnitInfo>> listFacilities() {
return subunits;
}
@Override
public int requestAvailableCapacity() {
int availableCapacity = 0;
for (IFacility<UnitInfo> subunit : subunits){
availableCapacity += subunit.requestAvailableCapacity();
}
return availableCapacity;
}
}
Junit
public class BuildingTest {
Building defaultBuilding = new Building();
ScheduleManager defaultSchedule = new ScheduleManager();
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testGetInfo() { //this is the test I need to write
Building b = defaultBuilding;
assertEquals(b.getInfo(), null);
}
@Test
public void testGetScheduleManager() {
Building a = defaultBuilding;
assertEquals(a.getScheduleManager(), null);
}
http://stackoverflow.com/a/21355383/1878022 этот ответ поможет вам – VedX
Только для записи: с точки зрения «хорошего дизайна»: попытайтесь сделать так много ваших полей ** final ** насколько это возможно. Кажется соблазнительным разрешить их изменить с помощью сеттеров; но очень часто, что на самом деле имеет ** не ** значение. Таким образом, лучше отступить и тщательно решить, какая информация должна быть обязательной ** при создании объекта и не подлежит изменению. Это ** также ** уменьшает количество кода, который вы должны проверить! – GhostCat