• 软件工程第二次作业-1605班05赵一霖


    一、选择开发工具

    鉴于JAVA语言比较简单,并且想通过本次课程的相关知识的训练来提高JAVA语言的编程能力,所以本次作业我选用JAVA语言,那么测试单元则选用JUNIT。由于以前已经下载过eclipse,所以不再多说。

    二、练习自动单元测试技术

    1、第一步是打开eclipse,创建一个项目,如下图所示。

    2、第二步是编写代码,本代码实现的功能是输入两个点坐标,进而求出两点间的斜率,具体代码如下。

    package first;
    
    public class countproxy{
    
            private int x1,x2,y1,y2;	
    
    	public void init(int xx1,int yy1,int xx2,int yy2){
    		x1 = xx1;
    		x2 = xx2;
    		y1 = yy1;
    		y2 = yy2;
    	}
    
    	public double count(){
    		double k = (double)(y2-y1)/(x2-x1);
    		return k;
    	}	
    }
    

    3、第三步是为所写程序配置构建路径,从库中调用Junit。具体如下图。


    JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有:

    ①@BeforeClass 全局只会执行一次,而且是第一个运行

    ②@Before 在测试方法运行之前运行

    ③@Test 测试方法

    ④@After 在测试方法运行之后允许

    ⑤@AfterClass 全局只会执行一次,而且是最后一个运行

    ⑥@Ignore 忽略此方法

    4、第四步是编写测试代码,一共选用四组测试用例,分别包括正数、负数、0以及小数的情况。具体代码如下。

    package first;
    
    import org.junit.Test;
    
    import junit.framework.Assert;
    
    public class test {	
    
    	countproxy c = new countproxy();	
    
    	@Test
    	public void test1(){
    		c.init(1,1,2,2);
    		double ret = c.count();
    		Assert.assertEquals(ret, 1.0);
    	}
    	
    	@Test
    	public void test2(){
    		c.init(-1,-1,-2,2);
    		double ret = c.count();
    		Assert.assertEquals(ret, -3.0);
    	}	
    
    	@Test
    	public void test3(){
    		c.init(1,2,5,2);
    		double ret = c.count();
    		Assert.assertEquals(ret, 0.0);
    	}	
    
    	@Test
    	public void test4(){
    		c.init(1,1,3,2);
    		double ret = c.count();
    		Assert.assertEquals(ret, 0.5);
    	}	
    }
    

    5、第五步是观察测试是否正确。如果出现绿色横条,则为测试结果正确;如果出现红色横条,则为测试结果错误。


    上图表示四组测试用例都通过测试,结果均为正确情况。

    三、总结

    经过一个下午的学习,我对JAVA语言有了一定的了解,同时也对Junit单元测试方法有了初步的了解,希望可以在之后的编程路上也可以熟练使用这个方法来解决之后遇到的问题。

  • 相关阅读:
    单链表反转的2种常见方法
    LeetCode解题报告:Reorder List
    LeetCode解题报告:Binary Tree Postorder Traversal
    LeetCode解题报告:LRU Cache
    LeetCode解题报告:Insertion Sort List
    Java编程杂记
    如何对一个不断更新的HashMap进行排序
    Python快速入门
    Html与CSS快速入门01-基础概念
    JVM快速入门
  • 原文地址:https://www.cnblogs.com/zhaoyilin0728/p/10702826.html
Copyright © 2020-2023  润新知