Je possède ce ParkingLot.javaAccéder à une liste en cas de test JUnit
public class ParkingLot {
private final int size;
private Car[] slots = null;
List<String> list = new ArrayList<String>();
public ParkingLot(int size) {
this.size = size;
this.slots = new Car[size];
}
public List licenseWithAParticularColour(String colour) {
for (int i = 0; i < slots.length; i++) {
if (slots[i].getColour() == colour) {
System.out.println(slots[i].getLicense());
list.add(slots[i].getLicense());
return list;
}
}
return null;
}
}
J'ai créé un ParkingLotTest.java comme suit
public class ParkingLotTest {
private Car car1;
private Car car2;
private Car car3;
private Ticket ticket1;
private Ticket ticket2;
private Ticket ticket3;
private ParkingLot parkingLot;
private List<String> list = new ArrayList<String>();
@Before
public void intializeTestEnvironment() throws Exception {
this.car1 = new Car("1234", "White");
this.car2 = new Car("4567", "Black");
this.car3 = new Car("0000", "Red");
this.parkingLot = new ParkingLot(2);
this.ticket1 = parkingLot.park(car1);
this.ticket2 = parkingLot.park(car2);
this.ticket3 = parkingLot.park(car3);
this.list = parkingLot.list;
}
@Test
public void shouldGetLicensesWithAParticularColour() throws Exception {
assertEquals(, parkingLot.licenseWithAParticularColour("White"));
}
}
Dans le cas de test ci-dessus, je veux vérifier que la liste est remplie avec les licences correctes. 1. Comment puis-je créer un champ dans ParkingLotTest.java afin que la liste dans la première classe soit la même que la liste dans le fichier de deuxième classe.
oui, cela a très bien fonctionné. merci;) Je comprends le 1er test, mais comment ma fonction peut-elle retourner "unknown"? – theTuxRacer
@thetuxracer: Ce que je voulais dire était de vérifier le comportement lors du passage d'une couleur "inconnue" (c'est-à-dire en tant que paramètre, pas en tant que valeur de retour). –
+1 pour les tests hors cas. Pour le cas null, je dirais que lancer une exception 'NullPointerException' est une alternative raisonnable au renvoi d'une liste vide, donc tirer parti de' @Test (expected = ...) 'est une autre façon de procéder. – Carl