Junit测试代码基本骨架

上一篇 / 下一篇  2009-09-03 15:53:24 / 个人分类:单元测试

r*?,SXt+\6o0Junit写出来测试代码的基本骨架的样式大概就是下面的:

N&od(M bh&Pns051Testing软件测试网3Gt m[yz

基本顺序就是51Testing软件测试网v&["s~'o$_L

#b,Hc%|5es6W5wuq0(1) import junit.framework.* 下面所有的类51Testing软件测试网0hO&J-M*i!X%Q'f

51Testing软件测试网K'_|.e`Zzt

(2) extends 用自己的测试类继承TestCase51Testing软件测试网#V[i/^Z2t

51Testing软件测试网GseC%JK#Ces5H;p

(3) 初始化和释放资源的方法 setUp()和tearDown()

+s0E%O E m$C u051Testing软件测试网)~~qbXBoa-V

(4) 写一个构造函数用super 调用 父类构造函数

$|0`%h|%jk K051Testing软件测试网1\3Cp8u;U-Iqtu

(5) test开头的测试方法。51Testing软件测试网UY gmR&`j.M

4dF(~ iP`:g0(6) 定义testsuite,指定testsuite要执行的测试方法51Testing软件测试网!X"x C+\9W;EkK

0a'PC#X?G"zt0(7)如果要在命令行下执行测试,需要用main函数指定待运行testsuite和一系列定义,以及运行方法和运行对象等等。

PYg'E3@0

'a'G3z7l o5M.G$h+_D(W\-A0可以写一个类专门来集合要测试的方法或者suite,然后可以指定来运行。

W#BT*Rp8t x1a E P C@0

;\l"a t*]'G `q0看下面一个小的范例:

"s @} |Hn V0

W:t+~cky0import Example.ExampleHelloTest; //因为ExampleHelloTest在另外一个包里所以需要import进来
zQ9D7_+GF0import junit.framework.*;51Testing软件测试网@ yKY0{v#M

51Testing软件测试网:\0d|`4JBs6} n

import pragmaticUnitTest.TestLargest;//因为TestLargest在另外一个包里所以需要import进来
m[Q.J mk@]051Testing软件测试网SN,k)_ N-x2q

D})J5`5l1]0public class TestSuiteComposite extends TestCase{51Testing软件测试网7|-^DFqZTq k*z
 public TestSuiteComposite (String  method){51Testing软件测试网4X#mQ*n"~0^ M2V

51Testing软件测试网)?e0?.C-l;Z'U'd

 super(method);
j5o,[m#EM0 }

3~!}cNmNf0

`iQ%A B.Q~k0/**

M X7na C1Rn.q0

'h#mo"f'F0*define composited testsuite

If{X@1v f8N0

1?*a }moI0*/51Testing软件测试网%CNc'e5z@{

51Testing软件测试网 dd?${H

static public Test suite(){51Testing软件测试网!g[$~Y9J%]h8a
  TestSuite suite = new TestSuite();

&|aW9PjT,a051Testing软件测试网A5z/R(DqY^'o

// add all the test methods from ExampleHelloTest class.

:bRaO[V P#D0

*oWe8RB? x0}O0  suite.addTestSuite(ExampleHelloTest.class);

JJ3k,mL:h#`l051Testing软件测试网zxm-C-F5EI5A b;[

51Testing软件测试网-v[r)r(F `J
add test suite from TestLargest class.

yR|#L4Q"kj7x051Testing软件测试网4x:hL%dI M"ZL

suite.addTest(TestLargest.suite());
$}vb(zg0  return suite;

IAO/q]051Testing软件测试网B(ys7P1b.S(s/DuR

基本结构就是ExampleHelloTest class定义了一系列的测试方法但是没有定义test suite.这里就把这个class里的所有的测试方法加进来。然后又把TestLargest class 里定义的suite加进来。实际上在TestLargest class里定义了10个测试方法。但是TestLargest class的suite只是指定了其中的2个来运行。因此在这个composite的class里我们运行顺序是先把ExampleHelloTest定义的所有测试方法执行然后再执行TestLargest class 里suite里限定的2个测试方法。

cA1WSm-KDJ051Testing软件测试网g!Y EX5r5z2I V

 51Testing软件测试网M.|O%`/N$gxt/Y


TAG: JUnit 单元测试

 

评分:0

我来说两句

Open Toolbar