[Eclipse筆記]Give TestNG a try in Eclipse.

來源:互聯網
上載者:User
自從接觸J2SE 5.0以來,似乎Cedric Beust這個名字就在腦海中揮之不去,大約是跟他在java.sun.com的一篇對J2SE 5.0新特性的介紹文章有關吧,其實這個法國人給人留下印象最深的是他基於JUnit和J2SE 5.0的註解(Annotation)的思想創作的測試載入器:TestNG。

用過JUnit的朋友,尤其是經常使用的朋友大概會跟他有同感,那就是JUnit有些時候功能顯得太單調,不夠靈活,但是很少有人像他那樣自己另起爐灶去寫一個自己的測試架構。也許這就是我們跟發達國家在技術創新上的差距吧,我想這至少是意識上的差距。

國外各大網站已經前前後後做了不少介紹,國內網站則似乎還沒有十分重視這個看上去不起眼的傢伙。這究竟是個什麼樣的工具呢?有些什麼特色?大致總結一下就是:

對Java註解的支援
利用XML配置測試過程
不需要實現介面或繼承類(如JUnit的TestCase/TestSuite)
支援獨立的方法和分組
支援並行測試
測試方法支援傳入參數
任意制定的調用次數和成功率統計

現在,我們有機會在Eclipse環境嘗試這個測試架構了,還要多多感謝TestNG外掛程式的作者Alexandru Popescu犧牲掉那麼多自己的時間。怎麼樣?躍躍欲試?該外掛程式的update site是:http://beust.com/eclipse/,需要注意的是它目前只支援Eclipse 3.1版本,因為Java註解的原因。

為了簡單做一個示範,我隨便寫了一些代碼:

[FooCalculator.java]package sean.home.test;

public class FooCalculator {
    
    public static int increaseByOne(int origVal) {
        return ++origVal;
    }

}

[FooCalculatorTest.java]package sean.home.test;

import com.beust.testng.annotations.*;

public class FooCalculatorTest {
    
    private int origVal;
    
    @Configuration (beforeTestClass = true)
    public void setUp() {
        origVal = Integer.MAX_VALUE;
    }
    
    @Test
    public void testIncreasByOne() {
        int result = FooCalculator.increaseByOne(origVal);
        assert result > 0;
    }
    
}

[TestFooCalculator.xml]<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >

<suite name="Custom Suite" >
    <test name="To Test FooCalculator" >
        <classes>
            <class name="sean.home.test.FooCalculatorTest" />
        </classes>
    </test>
</suite>

完成以後,我們可以在Eclipse中右鍵選中我們的測試類別或者設定檔,選運行TestNG,這樣我們就能看到Console視圖和TestNG視圖中顯示的結果了。

更多資訊,參考:http://beust.com/testng/。希望對NUnit的愛好者、學習者們也有協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.