Eclipse学习4-在Eclipse中使用JUnit进行单元测试(上)
使用JUnit进行测试
JUnit是与Eclipse一起提供的一个开源测试框架。在同一个Project中,可以创建与其它class无异的“基于
JUnit”的class,并使用此JUnit代码去测试project中的其它class。JUnit的此种使用方式能够为每位在此
应用程序上工作的人员构建一组标准的测试。如果当更改了应用程序代码以后,他们所需做的工作仅仅是点
击几下按钮来验证此应用程序是否依然能够通过标准测试。
JUnit被用来测试代码,并且它是由能够测试不同条件的断言方法(assertion method)组成,如下所示:
assertEquals(a, b)
测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)
assertFalse(a)
测试a是否为false(假),a是一个Boolean数值。
assertNotNull(a)
测试a是否非空,a是一个对象或者null。
assertNotSame(a, b)
测试a和b是否没有都引用同一个对象。
assertNull(a)
测试a是否为null,a是一个对象或者null。
assertSame(a, b)
测试a和b是否都引用同一个对象。
assertTrue(a)
测试a是否为true(真),a是一个Boolean数值。
我们使用这些方法来构建JUnit测试。当运行一个JUnit应用程序时,它打开自己的视图(view)来立即指示
哪个测试通过了,哪个测试失败了。
创建测试应用程序
我们将在一个例子中使用JUnit来展示它如何在我们创建的应用程序JN_test中运行。此应用程序的意图是简
单地为一个整型数组赋值,并通过get和set方法来对它们进行存取。
特别地,我们将包含三个方法,它们用来返回可能被用在JUnit中测试的值。
allocate
分配一个整型数组并且对其赋值;返回新分配的数组。
set
为整型数组赋值;如果成功返回true,否则返回false。
get
从整型数组中取值;返回需要的数值。
JN_test的最初版本:
package net.csdn.blog;
public class JN_test {
private int[] array;
public int[] allocate()
{
array[0] = 0;
array[1] = 1;
array[2] = 2;
return array;
}
return array[index];
}
public boolean set(int index,int value){
if(index<array.length && index >=0)
{
array[index] = value;
return true;
}
else
return false;
}
}
allocate方法分配一个整型数组,对其进行赋值,并返回此数组:
private int[] array;
public int[] allocate( ) {
array[0]=0;
array[1]=1;
array[2]=2;
return array;
}
get方法在数组的给定位置取整数值:
public int get(int index) {
return array[index];
}
set方法为给定的位置赋整数值,按条件返回true或者false。
public boolean set(int index, int value) {
if (index < array.length && index >= 0) {
array[index]=value;
return true;
} else {
return false;
}
}
接下来就是使用JUnit测试所有这些方法:allocate , set和get。
不让文字把表格撑大:
<table width="200" border="1" style="word-break:break-all;">
<tr>
<td>dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</td>
</tr>
</table>
不让图片把表格撑大,当图片大小超过表格宽度时自动截掉超出的部分:
<table width="200" border="1" style="table-layout:fixed">
<tr>
<td><img src="pic/2006617235947352.gif"></td>
</tr>
</table>
如果想保持图片完整,可以在图片输出之前先利用ASP判断图片大小,如果超过表格宽度,
则设置图片宽度为表格的宽度,利用ASP获得图片大小详见:
http://www.webjx.com/tech/content.asp?id=52