zoukankan      html  css  js  c++  java
  • JUnit三分钟教程 ---- 实际应用

    接上文“JUnit三分钟教程 ---- 快速起步”,续写一篇,以便能真正将JUnit用到项目的测试中。
     
    进行测试确不清理垃圾数据就像随地大小便一样让人无法忍受!
     
    测试是应该进行,如果测试过程中给数据库中写入了垃圾数据怎么办,不用担心,JUnit的设计者早已考虑到了这个问题,下面看如何控制“测试垃圾”的回收。
     
    结合Eclipse,这个实现非常的简单,80%的代码是Eclipse生成的,呵呵。
     
    一、测试目标
     
    public class Calc { 
      
        private int a,b; 
      
      
        public Calc() { 

        } 


        public int add() { 
      return a + b; 
        } 


        public int getA() { 
      return a; 
        } 


        public void setA(int a) { 
      this.a = a; 
        } 


        public int getB() { 
      return b; 
        } 


        public void setB(int b) { 
      this.b = b; 
        } 
      
    }
     
    二、写测试用例
    测试用例中的setup()方法会在测试逻辑最先调用。就相当于做初始化工作。
     
    测试用例中的tearDown() 方法在测试逻辑之后调用。充当一个清理战场的角色,以清楚测试过程中对现场的状态的破坏。
     
     
    import junit.framework.TestCase; 


    public class CalcTest1 extends TestCase { 
        Calc c=new Calc(); 

        protected void setUp() throws Exception { 
      c.setA(2); 
      c.setB(1); 
       
        } 

        protected void tearDown() throws Exception { 
      c=null
        } 

        public void testAdd() { 
      int result=c.add();  
      assertEquals(3,result,0); 
    //  fail("尚未实现"); // TODO 
        } 

    }
     
    import junit.framework.TestCase; 


    public class CalcTest2 extends TestCase { 
        Calc c=new Calc(); 

        protected void setUp() throws Exception { 
      c.setA(2); 
      c.setB(1); 
       
        } 

        protected void tearDown() throws Exception { 
      c=null
        } 

        public void testAdd() { 
      int result=c.add();  
      assertEquals(3,result,0); 
    //  fail("尚未实现"); // TODO 
        } 

    }
     
    本例中没有测试垃圾,因此tearDown() 实际上可以不用写。
     
    三、生成测试单元
     
    import junit.framework.Test; 
    import junit.framework.TestSuite; 


    public class AllTests { 

        public static Test suite() { 
      TestSuite suite = new TestSuite("Test for default package"); 
      //$JUnit-BEGIN$ 
      suite.addTestSuite(CalcTest1.class); 
      suite.addTestSuite(CalcTest2.class); 
      //$JUnit-END$ 
      return suite; 
        } 

     
     
    四、在Eclipse中执行单元测试
     
    文件转载出处:http://lavasoft.blog.51cto.com/62575/65775
  • 相关阅读:
    HNOI2018退役记
    codeforces 960G Bandit Blues
    codeforces 933D A Creative Cutout
    tyvj1953 Normal
    loj6119 「2017 山东二轮集训 Day7」国王
    codeforces 293E Close Vertices
    bzoj1808 [Ioi2007]training 训练路径
    bzoj2219 数论之神
    bzoj4361 isn
    loj2064[HAOI2016]找相同字符
  • 原文地址:https://www.cnblogs.com/ouyang995948959/p/4436942.html
Copyright © 2011-2022 走看看