• JUnit使用abstract类来进行测试


    JUnit是一个非常强大的工具, 可以帮助我们进行单元测试.
    由于JUnit本身设计的非常好, 所以可以进行任意的扩展, 有很多使用技巧, 这次, 笔者和大家讨论一下使用抽象类来进行JUnit测试. 很简单, 但是很实用.

    测试环境: eclipse indigo, JUnit 4

    编写一个抽象类, 这个例子来自[参考1].

    package junit.abstracttest;
    
    import static org.junit.Assert.*;
    
    import java.util.List;
    
    import org.junit.Before;
    import org.junit.Test;
    
    public abstract class ListAbstractTest {
    
    	private List<String> list;
    	
    	@Before
    	public void whenTestingListOfString() {
    		list = createList();
    	}
    	
    	protected abstract List<String> createList();
    	
    	@Test
    	public void shouldAddItemsToList() {
    		list.add("one");
    		assertEquals(1, list.size());
    		assertEquals("one", list.get(0));
    	}
    
    }
    

     里面有一个抽象方法, 用来提供一个list, 这个方法必须在子类中实现

    package junit.abstracttest;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class ListAbstractTestImpl extends ListAbstractTest {
    
    	@Override
    	protected List<String> createList() {
    		return new ArrayList<String>();
    	}
    
    }
    

     我们简单地实现了这个类, 然后可以在ListAbstractTestImpl中运行JUnit, 你会发现, 测试可以通过.

    通过这样的方式, 我们可以将测试的代码写得更加简洁, 去掉大量重复的代码和逻辑.

    参考:

    1. Contract Tests in JUnit 4, http://www.benrady.com/2009/12/contract-tests-in-junit-4.html
  • 相关阅读:
    微信小程序-movable-view
    微信小程序-swiper组件
    大文件上传的php.ini配置和apache或者nginx需要的配置
    Yii2.0 实现关联查询
    Yii2.0关闭自带的debug功能
    创建日志文件,并且追加内容
    微信小程序实现计算器功能
    Yii2.0实现后台接收json数据处理数据修改功能
    Yii2.0成功或者失败提示➕页面跳转
    Yii2.0配置pathinfo模式
  • 原文地址:https://www.cnblogs.com/icejoywoo/p/2442316.html
Copyright © 2020-2023  润新知