Sono entrato a far parte di un nuovo team di grandi colleghi ed è emersa una divergenza di opinioni riguardo l'inclusione di //given
//when
e //then
blocchi di commento nei test unitari.
Ad esempio
public void mapToitemList_MapsCarsToitemsCorrectly_ForSingleFurrari() {
// given
String commercialProductName = "Furrari";
String productNumber = "12423";
BigDecimal numberOfScrews = BigDecimal.TEN;
ValveType valveType = ValveType.GOOD;
Car car = new Car() //
.withCommercialProductName(commercialProductName) //
.withProductCarNumber(productNumber) //
.withNumberOfScrewsAmount(new NumberOfScrewsAmount().withValue(numberOfScrews)) //
.withBalances(new Engine().withValves(new ValveType().withValue(valveType)));
List<Car> carList = Collections.singletonList(car);
// when
List<Item> mappedListOfCars = CarMapper.mapToItemList(carList);
// then
assertThat(mappedListOfCars).isNotEmpty();
Item carAsItem = mappedListOfCars.get(0);
assertThat(carAsItem.getCommercialProductName()).isEqualTo(commercialProductName);
assertThat(carAsItem.getNumberOfSetsOfScrews().getValue()).isEqualTo(Convertor.numbersOfScrewsToNumberOfSets(numberOfScrews).getValue());
}
Attualmente il motivo principale per includerli è perché sono abituato e il principale contro-argomento che sto ottenendo è che i commenti dovrebbero essere evitati.
La struttura aggiunta di questi commenti merita l'uso di commenti? Martin Fowler menziona alcune persone li usano, ma non giudicano in merito.