• Nextday 参数化单元测试(测试用例)设计


    一、首先简单描述一下下载试题及配置试题的过程

    1. 配置环境:安装Eclipse、JDK(1.7)、及考试插件 (net.mooctest....*.jar)等;

    2. 登录系统:运行Eclipse: 【MoocTest】 --》【1. Login】--》输入考试密码(mooctest.net --> 我的任务 提供)。如下图

    3. 下载试题:点击上图 菜单【2. Download】,下载试题(注意:一般选择清空工作空间,如果试题不同名,也可以不清空)

    4. 微调环境:PS:这一步一般不是必须的(如果导航栏出现感叹号,一般是因为环境配置不彻底),你可以微调考试环境,直至没有感叹号。一般问题出在JRE版本上,则可以选择 build path, 对应的JRE 重新 Edit,选择 1.7 版本的即可。

    5. 编写测试用例: ctrl+N,选择新建 Java --》Junit Test case --》设置路径、文件名(即测试类名,一般命名规则:***Test.java, 这样做的好处是易于记忆)。接下来在该文件中编写测试用例。具体示例,如下面附录1:代码部分 .

    • 测试用例设计要考虑覆盖准则,语句覆盖、分支覆盖等
    • 技巧,你可以多次提交,然后在结果分析部分查看还有哪些没有被覆盖到,进而补充测试用例。
    1. 运行测试:选择 【MoocTest】 --》【3. Run】,运行结果如下图所示:
    • PS:得分越高越好!
    1. 提交结果:选择 【MoocTest】 --》【4. Submit】.

    2. 查看剩余时间:选择 【MoocTest】 --》【5. Time】

    附录1: NextdayTest.java

    
    
    import static org.junit.Assert.*;
    
    import java.lang.reflect.Array;
    import java.util.Arrays;
    import java.util.Collection;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.Parameterized;
    import org.junit.runners.Parameterized.Parameters;
    
    
    @RunWith(value = Parameterized.class)
    public class NextdayTest {
    
    	private Date expected;
    	
    	private Date value;
    	
    	@Parameters
    	public static Collection getTestParameters() {        // 下面依次设计有效等价类、无效等价类等
    		
    		//有效等价类
    		Date d1 = new Date(5, 14, 2014);
    		Date d2 = new Date(5, 13, 2014);
    		
    		//为负日期
    		// Date d3 = new Date(5, 0, 2014);
    		// Date d4 = new Date(5, -1, 2014);
    		
    		// //为零日期
    		// Date d5 = new Date(5, 1, 2014);
    		// Date d6 = new Date(5, 0, 2014);
    		
    		//31号
    		Date d7 = new Date(8, 31, 2015);
    		Date d8 = new Date(8, 30, 2015);
    		
    		Date d9 = new Date(7, 31, 2014);
    		Date d10 = new Date(7, 30, 2014);
    		
    		Date d11 = new Date(7, 1, 2013);
    		Date d12 = new Date(6, 30, 2013);
    		
    		//闰年
    		Date d13 = new Date(3, 1, 2004);  
    		Date d14 = new Date(2, 29, 2004);
    		
    		Date d15 = new Date(2, 29, 2004);
    		Date d16 = new Date(2, 28, 2004);
    		
    		//400年是闰年
    		Date d17 = new Date(3, 1, 2000);
    		Date d18 = new Date(2, 29, 2000);
    		
    		Date d19 = new Date(3, 1, 2013);
    		Date d20 = new Date(2, 28, 2013);
    		
    		//被4整除,不被100整除 
    		Date d23 = new Date(3, 1, 2100);
    		Date d24 = new Date(2, 28, 2100);
    		
    		//到第二年
    		Date d21 = new Date(1, 1, 2014);
    		Date d22 = new Date(12, 31, 2013);
    		
    		//下一个月
    		Date d25 = new Date(1, 31, 2013);
    		Date d26 = new Date(1, 30, 2013);
    		
    		Date d27 = new Date(2, 1, 2013);
    		Date d28 = new Date(1, 31, 2013);
    		
    		Date d29 = new Date(4, 1, 2014);
    		Date d30 = new Date(3, 31, 2014);
    		
    		Date d31 = new Date(5, 1, 2014);
    		Date d32 = new Date(4, 30, 2014);
    
    		Date d33 = new Date(6, 1, 2014);
    		Date d34 = new Date(5, 31, 2014);
    
    		Date d35 = new Date(7, 1, 2014);
    		Date d36 = new Date(6, 30, 2014);
    		
    		
    		
    		Object[][] date = new Object[][] {
    				{d1, d2},
    				// {d3, d4},
    				// {d5, d6},
    				{d7, d8},
    				{d9, d10},
    				{d11, d12},
    				{d13, d14},
    				{d15, d16},
    				{d17, d18},
    				{d19, d20},
    				{d21, d22},
    				{d23, d24},
    				{d25, d26},
    				{d27, d28},
    				{d29, d30},
    				{d31, d32},
    				{d33, d34},
    				// {d35, d36}
    		};
    		return Arrays.asList(date);
    			
    	}	
    	
    	
    	public NextdayTest(Date expected, Date value) {
    		super();
    		this.expected = expected;
    		this.value = value;
    	}
    
    	@Test
    	public void testNextDay() {
    		
    		assertEquals(expected, Nextday.nextDay(value));
    		
    	}
    
    }
    
    
    
    
  • 相关阅读:
    把mysql数据库生成数据字典,直接可用
    WPF中触发器(Trigger、DataTrigger)使用动画最简单的方式EnterActions和ExitsActions
    WPF将TextBox的边框设为圆角的
    WPF中常用的Window事件
    Windows下搭建Redis集群
    Redis的服务命令(实现开机自启动)
    使用Visual Studio Code搭建PHP调试环境
    PHP生成随机字符串
    MySQL中date类型的空值0000-00-00和00:00:00
    下载Windows版本的Redis
  • 原文地址:https://www.cnblogs.com/juking/p/6885925.html
Copyright © 2020-2023  润新知