实验中一些问题及思考

项目场景:

软构实验主要立足于java的面向对象编程(oop),主要落脚点于ADT及其相关性质

问题描述

在实验2中对接口graph进行测试时,出现了GraphInstanceTest的测试方法,而观察其中具体实现(如下)

public abstract class GraphInstanceTest {
    

    
    /**
     * Overridden by implementation-specific test classes.
     * 
     * @return a new empty graph of the particular implementation being tested
     */
    public abstract Graph<String> emptyInstance();
    

可知这里采用的是一个抽象类来进行Junit测试;
而在接口poll的测试中,观察其中代码可知它采用的正常类来进行测试;
这其中不同引发了思考;


理解分析:

产生这样的差异的因素如下:
(1)对于接口graph的测试,因为在对接口的两个具体实现中,只是改变了其中所采用的的数据结构(一个edge,另一个vertices),没有改变/扩展接口中所定义的方法,这是在此基础上添加了所依赖的辅助类,所以在对其的测试中,只用对辅助类edge中所添加的方法进行test,而重写的方法测试默认在instancetest中进行,这样提高了测试代码书写的效率,降低重复性;
(2)而在对接口poll的测试中,其后面的三个实现,其中有对接口中定义的方法进行了扩展,所以测试用例应该会具有差异性,所以在此前提下,如果再采用抽象类测试集的方法,那必然会产生分歧;
思考:在测试用例的书写时依旧体现了鲜明的继承关系,把ADT的共性定义在接口和设置抽象类测试公共方法都是这个原理的具体表现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值