正在加载...
2008-4
17
发表于: Java | 作者: 腾风无踪
标签:

 终于开始着手Java了~~作为作为第一篇关于Java的东东,来说一说我对JUint的一些不成熟的看法。
JUnit是一个基于单元测试的Java工具。所谓单元测试,按照我的理解来说,并不是对于程序debug或者怎么样,而仅仅是对于你程序的正确性的测试。这个正确性保证的是你的返回值的正确。比如你一个函数设置了它的返回值是一个数组,那么JUnit的测试可以帮助你判断是否是返回数组。对于程序的逻辑什么的,还是应该交给 debug来处理才是王道。

  1.  package org.lorry.ch03;
  2.  
  3. public class Ch03_01 {
  4.   private int[] array;
  5.  
  6.   public int[] allocate() {
  7.     array = new int[3];
  8.     array[0] = 0;
  9.     array[1] = 1;
  10.     array[2] = 2;
  11.     return array;
  12.   }
  13.  
  14.   public int get(int index) {
  15.     return array[index];
  16.   }
  17.  
  18.   public boolean set(int index, int value) {
  19.     if (index < array.length && index >= 0) {
  20.         array[index] = value;
  21.         return true;
  22.     }else{
  23.       return false;
  24.     }
  25.   }
  26. }

上面这个是我写的一个需要测试的类

  1. package org.lorry.ch03;
  2.  
  3. import junit.framework.TestCase;
  4.  
  5. public class Ch03_01Tes extends TestCase {
  6.   Ch03_01 testObject;
  7.  
  8.   protected void setUp() throws Exception {
  9.     super.setUp();
  10.     testObject = new Ch03_01();
  11.   }
  12.  
  13.   protected void tearDown() throws Exception {
  14.     super.tearDown();
  15.   }
  16.  
  17.   public void testAllocate() {
  18.     assertNotNull(testObject.allocate());
  19.     // fail("Not yet implemented");
  20.   }
  21.  
  22.   public void testGet() {
  23.     testObject.allocate();
  24.     assertEquals(testObject.get(1), 1);
  25.     // fail("Not yet implemented");
  26.   }
  27.  
  28.   public void testSet() {
  29.     testObject.allocate();
  30.     assertTrue(testObject.set(2, 3));
  31.     // fail("Not yet implemented");
  32.   }
  33.  
  34. }

这个是我的JUnit测试类~至于JUnit测试类如何使用可以去Google一下,网上有很多,不再赘述。来简单的说一说JUnit的东东。JUnit 的测试原理比较简单,就是Assert的判断,或者说是非判断或者断言判断。assertXXX,后面的XXX就是Assert的内容,比如 assertNotNull就是判断所给参数是否为空(none object),assertEquals判断是否相等,assertSame判断是否同相同等等。从JUnit的判断方法也能看出来JUnit只能判断最后返回值是否正确,也就是返回值的类型或者数值是否是你需要的。另外,在JUnit中,每一个测试都是独立的,所以每一个test方法在进行断言测试之前都需要进行一个初始值赋值的过程,在本例中就是testGet()方法中testObject.allocate();这个操作就为初始值赋值操作,即对数组进行赋值操作。赋值之后才可以对下面的进行判断和操作。testSet()中也是同样
就我的理解来看,JUnit使用主要是在第一次编写class的时候以及以后修改class的时候进行判断,从而判断是否修改后的class能返回先前的值,换言之,修改之后class是否和原先class的功能相同~~
这个在于大型项目已经后期需要修改class中的作用尤为明显~~
一点点不成熟或者幼稚的看法~~欢迎拍砖~

: http://www.breestealth.com/81/java%e7%ac%ac%e4%b8%80%e7%af%87.html

本文相关评论 - 1条评论都没有呢

还没有任何评论。