加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在JUnit测试中重复代码

发布时间:2020-12-15 02:04:45 所属栏目:Java 来源:网络整理
导读:在测试类中复制代码是“坏”吗?如你所见,我将驾驶记录添加到驾驶记录中,以便在多种方法中进行测试.将它提取到私有帮助器方法是否更好?或者更清楚地保持它是否像它一样?在这种情况下你做什么? @Testpublic void shouldRemoveAllDrivingRecords() { Durati
在测试类中复制代码是“坏”吗?如你所见,我将驾驶记录添加到驾驶记录中,以便在多种方法中进行测试.将它提取到私有帮助器方法是否更好?或者更清楚地保持它是否像它一样?在这种情况下你做什么?

@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,"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);
}

解决方法

在任何地方复制代码都是“坏事”.此代码是否因某种原因而重复,或仅仅是为了方便.如果有一个原因,你想要在两者中使用相同的数据并以相同的方式添加它,那么一个小的“设置”方法是有意义的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读