posts - 32,comments - 75,trackbacks - 0

           

          1.         JDK 5 Annotations (JDK 1.4 可以用JavaDoc代替).

          一個典型的Junit的測試類

          import junit.framework.TestCase;

           

          public class Jtest extends TestCase {

                 protected void setUp() throws Exception {

                        super.setUp();

                               //some initial code

              }

           

              protected void tearDown() throws Exception {

                  super.tearDown ();

                  //release resource and rollback

          }

           

          public void testFunction {

                 //test code

          }

          }

          對應的TestNG的測試類,我們寫最簡單的情況。

          public class NGtest{

           

              @Configuration(beforeTestClass=true)

              public void setUp() {

                  //some initial code

          }

           

          @Configuration(afterTestClass = true)

              public void tearDown (){

                 //release resource and rollback

              }

           

              @Test( )

              public void testFunction (){

                 //test code

              }

          }

          這樣寫可以比較明顯的看到兩者的對應關系(注意TestNG的方法的名字是可以隨便取的,取一樣的名字只是為了讓你容易找到對應的關系

          這說明TestNG是從Junit發展而來的,至少借鑒了很多Junit的思想(實際上TestNG的作者本身就是Junit的小組成員之一)。

          我們從最表面的現象來看看吧

          l         TestNG沒有繼承任何類,甚至接口!!

          l         JDK 5 Annotations

          2者是息息相關的,為什么我們不用繼承任何類,因為信息都在注釋里面,這樣會帶來很多好處(絕不僅僅是命名的方便)。

           

          2.         靈活的test configuration

          先看一下Junit的執行順序

          Setup( )   test1( )    tearDown( )      Setup( )     test2( )      tearDown( )…………

          下面是TestNG

          testng.JPG

          實際上外面還有一個beforeSuiteafterSuite的方法,是在測試項目開始的時候就運行了,實際上如果我的每個方法都要用到的初始化的代碼,為什么要運行那么多次,如果其中有EJB這種重量級的容器要初始化,效率差可想而知。事實上TestNG可以做到更加的靈活,就是分組。

          posted on 2005-12-14 10:33 fanta 閱讀(4325) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 高阳县| 曲麻莱县| 应用必备| 湛江市| 百色市| 苏州市| 邯郸市| 余江县| 特克斯县| 汉寿县| 台湾省| 永吉县| 肥城市| 新营市| 乌兰察布市| 凌云县| 民县| 遂昌县| 微博| 龙州县| 当涂县| 昭平县| 安徽省| 芒康县| 东明县| 舟山市| 错那县| 分宜县| 尉犁县| 会东县| 黄浦区| 洪江市| 彭水| 县级市| 清流县| 五指山市| 浮山县| 荆州市| 九龙坡区| 迭部县| 岢岚县|