【发布时间】:2012-02-20 09:47:20
【问题描述】:
在测试类中复制代码是“坏事”吗?如您所见,我将驾驶记录添加到驾驶日志中,以便通过多种方法进行测试。将其提取到私有辅助方法是否更好,还是保持原样更清晰?在这种情况下你会怎么做?
@Test
public void shouldRemoveAllDrivingRecords() {
Duration duration1 = new Duration(1, 30, 45);
Duration duration2 = new Duration(2, 50, 12);
DrivingRecord drivingRecord1 = new DrivingRecord(230.0, duration1, "This was a long trip");
DrivingRecord drivingRecord2 = new DrivingRecord(300.0, duration2, "This trip is even longer.");
drivingLog.addDrivingRecord(drivingRecord1);
drivingLog.addDrivingRecord(drivingRecord2);
drivingLog.removeAllDrivingLogs();
assertEquals(0, drivingLog.numberOfDrivingRecords());
}
@Test
public void shouldSumTheDistanceDriven() {
Duration duration1 = new Duration(1, 30, 45);
Duration duration2 = new Duration(2, 50, 12);
DrivingRecord drivingRecord1 = new DrivingRecord(230.0, duration1, "This was a long trip");
DrivingRecord drivingRecord2 = new DrivingRecord(300.0, duration2, "This trip is even longer.");
drivingLog.addDrivingRecord(drivingRecord1);
drivingLog.addDrivingRecord(drivingRecord2);
double expectedDistanceDriven = drivingRecord1.getDistance() + drivingRecord2.getDistance();
double totalDistanceDriven = drivingLog.getDistanceDriven();
assertEquals(expectedDistanceDriven, totalDistanceDriven, 0.1);
}
【问题讨论】:
标签: java unit-testing jakarta-ee junit