junit学习(一)junit3.8开发环境搭建及实例

来源:互联网 发布:11选5遗漏数据查询360 编辑:程序博客网 时间:2024/06/07 16:12

开发环境搭建及实例

       ①创建一个java Project,命名junit_test

       ②右键工程Build Path -->Configure Build Path,选择Libraries选项卡,点击Add Library--->Junit(或Add External JARs..)

       ③创建如下目录结构

          

          说明:1.目标类型与测试类最好位于同一个包下面,这样测试类中就不必导入源码所在的包,因为他们(产生的class文件)在同一个包下。

                     2.测试类命名规则,在目标类后加Test或者前面加Test

      ④Calculator中代码如下:

  • package com.junitstudy;
  • public class Calculator {
     public int add(int a ,int b)
     {
      return a+b;
     }
     public int substract(int a, int b)
     {
      return a-b;
     }
     public int multiply(int a ,int b)
     {
      return a*b;
     }
     public int divide(int a, int b) throws Exception
     {
      if(0 == b)
      {
       throw new Exception("除数不能为0");
      }
      return a/b;
     }
    }

        CalculatorTest 中代码如下:

package com.junitstudy;

import junit.framework.Assert;
import junit.framework.TestCase;

public class CalculatorTest extends TestCase{
 private Calculator cal;
 @Override
 public void setUp() throws Exception {
  cal = new Calculator();
 }
 @Override
 public void tearDown() throws Exception {
  
 }
 public void testAdd()
 {
  int sum = cal.add(3, 4);
  Assert.assertEquals(7, sum);
 }
 public void testSubstract()
 {
  int result = cal.substract(7, 3);
  Assert.assertEquals(4, result);
 }
 public void testMultiply()
 {
  int result = cal.multiply(3, 4);
  Assert.assertEquals(12, result);
 }
 public void testDivide()
 {
  int result = 0;
  try {
   result = cal.divide(6, 2);
  } catch (Exception e) {
   e.printStackTrace();
   Assert.fail();
  }
  Assert.assertEquals(3, result);
 }
 //用于测试抛出异常
 public void testDivideByZero()
 {
  Throwable tx = null;
  try {
   cal.divide(6, 0);
   Assert.fail();
  } catch (Exception e) {
   tx = e;
  }
  Assert.assertEquals(Exception.class, tx.getClass());
  Assert.assertEquals("除数不能为0", tx.getMessage());
 }
}

 

说明:①在junit3.8中,测试类需要继承TestCase类,测试方法需要满足如下原则:

              1.public 

              2.void 

              3.无方法参数

              4.方法名称必须以test开头     

           ②Test Case 之间一定要保持完全独立,不允许出现任何依赖关系

           ③测试类中一般都会重写setup()和tearDown()两个方法。setup()表示每个测试用例测试前都会执行,tearDown()则是每个测试用例测试后执行。

 

原创粉丝点击