hades 发表于 2006-3-6 13:48:08

(转载--基于J2EE单元测试)--实例

import junit.framework.*;

import java.util.Vector;

public class VectorTest extends TestCase {

protected Vector fEmpty;

protected Vector fFull;

public VectorTest(String name) {

super(name);

}

public static void main (String[] args) {

junit.textui.TestRunner.run (suite());

}

protected void setUp() {

fEmpty= new Vector();

fFull= new Vector();

fFull.addElement(new Integer(1));

fFull.addElement(new Integer(2));

fFull.addElement(new Integer(3));

}

public static Test suite() {

return new TestSuite(VectorTest.class);

}

public void testCapacity() {

int size= fFull.size();

for (int i= 0; i < 100; i++)

fFull.addElement(new Integer(i));

assertTrue(fFull.size() == 100+size);

}

public void testClone() {

Vector clone= (Vector)fFull.clone();

assertTrue(clone.size() == fFull.size());

assertTrue(clone.contains(new Integer(1)));

}

public void testContains() {

assertTrue(fFull.contains(new Integer(1)));

assertTrue(!fEmpty.contains(new Integer(1)));

}

public void testElementAt() {

Integer i= (Integer)fFull.elementAt(0);

assertTrue(i.intValue() == 1);

try {

Integer j= (Integer)fFull.elementAt(fFull.size());

} catch (ArrayIndexOutOfBoundsException e) {

return;

}

fail("Should raise an ArrayIndexOutOfBoundsException");

}

public void testRemoveAll() {

fFull.removeAllElements();

fEmpty.removeAllElements();

assertTrue(fFull.isEmpty());

assertTrue(fEmpty.isEmpty());

}

public void testRemoveElement() {

fFull.removeElement(new Integer(3));

assertTrue(!fFull.contains(new Integer(3)) );

}

}

import junit.framework.*;

import junit.runner.BaseTestRunner;

public class AllTests {

public static void main(String[] args) {

junit.textui.TestRunner.run(suite());

}

public static Test suite() {

TestSuite suite= new TestSuite("Framework Tests");

suite.addTestSuite(ExtensionTest.class);

suite.addTestSuite(TestCaseTest.class);

suite.addTest(SuiteTest.suite()); suite.addTestSuite(ExceptionTestCaseTest.class);

suite.addTestSuite(TestListenerTest.class);

suite.addTestSuite(ActiveTestTest.class);

suite.addTestSuite(AssertTest.class);

suite.addTestSuite(StackFilterTest.class);

suite.addTestSuite(SorterTest.class);

suite.addTestSuite(RepeatedTestTest.class);

suite.addTestSuite(TestImplementorTest.class);

if (!BaseTestRunner.inVAJava()) {

suite.addTestSuite(TextRunnerTest.class);

if (!isJDK11())

suite.addTest(new TestSuite(TestCaseClassLoaderTest.class));

}

return suite;

}

static boolean isJDK11() {

String version= System.getProperty("java.version");

return version.startsWith("1.1");

}

}

hades 发表于 2006-3-6 13:48:43

这段我 还没理解清楚?

lsh1209 发表于 2006-5-10 00:33:55

我门新手也看不懂,最好能说明以下他的功能

stardust 发表于 2006-7-10 14:09:18

高手,还是给点注释吧

haship 发表于 2006-8-13 17:43:09

注释啊,注释啊

是啊,大哥,给点注释吧
俺笨啊

Leon 发表于 2006-8-21 17:34:48

这个不如改一改名字,叫做使用JUNIT做JAVA程序的单元测试。和J2EE没啥关系。

Leon 发表于 2006-8-21 17:39:40

大概解释下吧我~~

JUNIT是一个开源的JAVA单元测试工具,或者叫解决方案也好

然后JUNIT里面提供了一个FRAMEWORK,其中的TEST SUITE可以理解成为一个SCENARIO,其中可以包括N个TEST CASE,每个TEST CASE可以包括N个TEST,是这样的一个层次结构。

然后这个例子是演示了如果用JUNIT做JAVA.UTIL.VECTOR这样一个数据类型的单元测试,其中测试了一些诸如添加,删除,克隆数据元素的操作。

junit.textui.TestRunner.run(suite())这个就是JUNIT最后运行的方式,除了这个TEXTUI外,我记得还有两个UI,分别是AWT和SWING的。

这个例子大概就是如此~~

changlang530 发表于 2007-9-5 11:21:39

看不明白!!

正道 发表于 2007-9-10 15:32:57

单元测试---Junit。
   对于一个类,方法的测试,是通过编写TestCase实例实现的。而这个测试的类必须继承TestCase类。
TestSuit是多个TestCase的组合,可以把多个类中的方法放在一起测,也可以把一个类中的方法分开测。单元测试的执行方法有Swing、文本方式等。对于开发人员来讲可以先设计好TestCase后,再去写类,这样考虑比较全面,不容易出错。
页: [1]
查看完整版本: (转载--基于J2EE单元测试)--实例