终于开始着手Java了~~作为作为第一篇关于Java的东东,来说一说我对JUint的一些不成熟的看法。
JUnit是一个基于单元测试的Java工具。所谓单元测试,按照我的理解来说,并不是对于程序debug或者怎么样,而仅仅是对于你程序的正确性的测试。这个正确性保证的是你的返回值的正确。比如你一个函数设置了它的返回值是一个数组,那么JUnit的测试可以帮助你判断是否是返回数组。对于程序的逻辑什么的,还是应该交给 debug来处理才是王道。
- package org.lorry.ch03;
- public class Ch03_01 {
- private int[] array;
- public int[] allocate() {
- array = new int[3];
- array[0] = 0;
- array[1] = 1;
- array[2] = 2;
- return array;
- }
- public int get(int index) {
- return array[index];
- }
- public boolean set(int index, int value) {
- if (index < array.length && index >= 0) {
- array[index] = value;
- return true;
- }else{
- return false;
- }
- }
- }
上面这个是我写的一个需要测试的类
- package org.lorry.ch03;
- import junit.framework.TestCase;
- public class Ch03_01Tes extends TestCase {
- Ch03_01 testObject;
- protected void setUp() throws Exception {
- super.setUp();
- testObject = new Ch03_01();
- }
- protected void tearDown() throws Exception {
- super.tearDown();
- }
- public void testAllocate() {
- assertNotNull(testObject.allocate());
- // fail("Not yet implemented");
- }
- public void testGet() {
- testObject.allocate();
- assertEquals(testObject.get(1), 1);
- // fail("Not yet implemented");
- }
- public void testSet() {
- testObject.allocate();
- assertTrue(testObject.set(2, 3));
- // fail("Not yet implemented");
- }
- }
这个是我的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中的作用尤为明显~~
一点点不成熟或者幼稚的看法~~欢迎拍砖~
还没有任何评论。