自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NetBeans使用教程入門篇

開發(fā) 后端
NetBeans是新近流行的一款堪與Eclipse媲美的IDE,有Sun的支持。下面是NetBeans使用教程入門篇。

一.創(chuàng)建項目

  下面打開NetBeans,然后點擊菜單“文件”->“新建項目”,打開“新建項目”對話框:

新建項目

請在“類別”中選擇“常規(guī)”,再從“項目”中選擇“Java應用程序”,然后點擊“下一步”,進入“新建Java應用程序”對話框:

 

 新建Java應用程序

在這個對話框中需要設置項目的名稱以及項目所在目錄,我為自己的項目起名為JUnitTest,“項目位置”為G:\YPJCCK\JUnit\NetBeans,此外,請將“創(chuàng)建主類”前的對號去掉。項目創(chuàng)建好后,已經(jīng)自帶了JUnit 3.8.1。

二.編寫用于測試的JavaBean

  用于測試的JavaBean很簡單,名為Book,只有id和name兩個屬性,這兩個屬性將分別用于兩個用例當中。下面開始編寫該JavaBean。
  請點擊“文件”->“新建文件”,打開“新建文件”對話框:

新建文件

確?!绊椖俊边x擇的是JUnitTest,然后在“類別”中選中Java類,在“文件類型”中選中Java類,點擊“下一個”,進入下一窗口:

文件類型

設置類名為Book,包為net.zheng.junit.test,設置完成后點擊“完成”,修改代碼如下:

package net.zheng.junit.test;

  public class Book {
    private String id = null;
    private String name = null;

    public String getId() {
      return id;
    }
    public void setId(String id) {
      this.id = id;
    }
    public String getName() {
      return name;
    }
    public void setName(String name) {
      this.name = name;
    }
  }
 

  至此,用于測試的JavaBean編寫完成。

三.編寫測試用例

  這里只用了一個類進行測試,名為BookTest,該類繼承自junit.framework.TestCase類。BookTest類包含兩個用例,分別對應該類的testId和testName方法,即每個方法實現(xiàn)了一個測試用例。注意,在JUnit 中,junit.framework.TestCase的子類中每個用來實現(xiàn)測試用例的方法都必須以testXXX的格式來命名,這些方法在運行時會被執(zhí)行。此外,BookTest還包括setUp和tearDown這兩個方法,前者在每個測試方法開始之前執(zhí)行,多用來做初始化;后者在每個測試方法完成之后執(zhí)行,多用來清理資源。下面開始編寫B(tài)ookTest。
  請點擊“文件”->“新建文件”,打開“新建文件”對話框:

新建文件

確保“項目”選擇的是JUnitTest,然后在“類別”中選中JUnit類,在“文件類型”中選中現(xiàn)有類的測試,點擊“下一個”,進入下一窗口:

新建文件

選擇要測試的類,點擊“完成”,修改代碼如下:

package net.zheng.junit.test;

  import junit.framework.TestCase;
  import junit.framework.Assert;

  public class BookTest extends TestCase {
    Book book = null;

    //建議為測試類創(chuàng)建構造
    public BookTest(String name) {
      super(name);
    }

    protected void setUp() throws Exception {
      //調用超類的setUp(),以確保測試環(huán)境被初始化
      super.setUp();

      System.out.println("測試開始!");
      book = new Book();
      System.out.println("book對象被初始化!");
    }

    protected void tearDown() throws Exception {
      System.out.println("book對象將被清理!");
      book = null;
      System.out.println("測試結束!");

      //調用超類的tearDown(),以確保測試環(huán)境被清理
      super.tearDown();
    }

    public void testId() {
      book.setId("001"); //設置id屬性的值為001
      //使用Assert查看id屬性的值是否為001
      Assert.assertEquals("001", book.getId());
      System.out.println("id屬性被測試!");
    }

    public void testName() {
      book.setName("ASP"); //設置name屬性的值為ASP
      //使用Assert查看name屬性的值是否為JSP,這是個必然出現(xiàn)錯誤的測試
      Assert.assertEquals("JSP", book.getName());
      System.out.println("name屬性被測試!");
    }
  }

  這里setUp和tearDown方法沒什么好說的,就是執(zhí)行了對book對象的初始化和清理,不過testId和testName需要說明一下。前者是在對book的id屬性進行測試,首先賦值為”001”,然后使用Assert的assertEquals方法查看id屬性中存放的值是否是期待的值,由于我的期待值也是”001”,所以執(zhí)行后這個用例應該是成功的;后者則是對book的name屬性進行測試,也是首先賦值為”ASP”,然后使用 Assert的assertEquals方法查看其值是否是期待的,由于我特意將期待值設定為根本不可能的”JSP”,因此這個用例執(zhí)行后會出現(xiàn)一個錯誤。但請注意,由于我是特意要讓測試出現(xiàn)錯誤,所以將期待值設定成了不可能的值,如果你是測試人員,請千萬不要這么做,否則如果別的地方導致了錯誤,很容易給自己造成不必要的麻煩。
  下面簡單介紹一下上邊用到的靜態(tài)類junit.framework.Assert。該類主要包含8個方法:
  1.a(chǎn)ssertEquals()方法,用來查看對象中存的值是否是期待的值,與字符串比較中使用的equals()方法類似;
  2.a(chǎn)ssertFalse()和assertTrue()方法,用來查看變量是是否為false或true,如果assertFalse()查看的變量的值是false則測試成功,如果是true則失敗,assertTrue()與之相反;
  3.a(chǎn)ssertSame()和assertNotSame()方法,用來比較兩個對象的引用是否相等和不相等,類似于通過“==”和“!=”比較兩個對象;
  4.a(chǎn)ssertNull()和assertNotNull()方法,用來查看對象是否為空和不為空;
  5.fail ()方法,意為失敗,用來拋出錯誤。我個人認為有兩個用途:首先是在測試驅動開發(fā)中,由于測試用例都是在被測試的類之前編寫,而寫成時又不清楚其正確與否,此時就可以使用fail方法拋出錯誤進行模擬;其次是拋出意外的錯誤,比如要測試的內容是從數(shù)據(jù)庫中讀取的數(shù)據(jù)是否正確,而導致錯誤的原因卻是數(shù)據(jù)庫連接失敗。

四.運行BookTest

  編寫好BookTest后,就可以運行了。請在“項目”欄中選中BookTest,點擊鼠標右鍵,選擇“運行文件”,測試信息會從“輸出”窗口輸出:

運行文件

五.測試套件

  當有多個測試類需要一次性進行測試時,可以使用測試套件來完成這項工作。
  在NetBeans中,點擊“文件”->“新建文件”,打開“新建文件”對話框:

新建文件

確?!绊椖俊边x擇的是JUnitTest,然后在“類別”中選中JUnit類,在“文件類型”中選中測試套件,點擊“下一個”,進入下一窗口:

文件類型

修改“類名”為AllTests,點擊“完成”,然后修改代碼如下:

package net.zheng.junit.test;

  import junit.framework.*;

  public class AllTests extends TestCase {
    public AllTests(String testName) {
      super(testName);
    }

    public static Test suite() {
      TestSuite ts= new TestSuite("AllTests");
      ts.addTestSuite(BookTest.class);
      return ts;
    }
  }

  其中TestSuite是用來組織測試類的,通過其addTestSuite()方法將測試類添加到ts對象中,凡是添加到ts中的測試類都將在運行文件時被執(zhí)行。此外,您也可以在定義ts對象時利用其構造函數(shù)將測試類添加給ts對象,例如:
  TestSuite ts = new TestSuite(BookTest.class);
這并不會影響到后續(xù)使用addTestSuite()方法。測試套件的運行方法與之前一樣。
  此外,JUnit自身也提供了運行測試的環(huán)境,但需要在NetBeans中做一些改動,所以就不作詳細介紹了,這里只將代碼給出:
 package net.zheng.junit.test;

  import junit.framework.*;

  public class Test {
    public static void main(String[] args) {
      //使用TestSuite組裝測試類
      TestSuite ts = new TestSuite();
      ts.addTestSuite(TestBook.class);
      //textui,命令行方式
      junit.textui.TestRunner.run(ts);
      //swingui,Swing方式
      //junit.swingui.TestRunner.run(ts.getClass());
      //awtui,AWT方式
      //junit.awtui.TestRunner.run(ts.getClass());
    }
  }

 
六.小結

  其實JUnit上手很容易,遠比想象的要簡單的多,但我覺得如何編寫測試類是很需要經(jīng)驗的,因為許多時候,測試一個用例,但涉及到可能不止一個類;而有些時候,一個類可能是做為工具使用,里邊涉及很多內容,那么測試時是否還是只編寫一個測試類呢?關于這個話題,我想應該是仁者見仁、智者見智的,其實這才是測試的難題所在。

 

【編輯推薦】

  • NetBeans 6.7 RC2發(fā)布 正式版月底出爐
  • Eclipse還是Netbeans
  • NetBeans Struts之頁面布局
  • Ubuntu9.04下的Netbeans6.5.1字體無法抗鋸齒的解決辦法
  • Netbeans6.7平臺Scala插件V1版發(fā)布
  • 責任編輯:佚名 來源: 中國IT實驗室
    相關推薦

    2012-01-17 10:47:07

    jQuery

    2022-07-06 07:57:37

    Zookeeper分布式服務框架

    2011-01-18 17:00:31

    Postfix入門

    2017-09-12 10:26:47

    springbootmaven結構

    2014-06-06 09:46:52

    SwiftSwift教程

    2010-05-20 19:12:37

    2020-11-16 10:19:33

    Java

    2016-09-06 17:43:12

    SwiftCloudKit開發(fā)

    2009-06-10 20:03:54

    netbeans6.0模塊

    2022-01-27 09:35:45

    whiledo-while循環(huán)Java基礎

    2020-11-13 07:22:46

    Java基礎While

    2015-07-30 09:43:10

    獨立游戲開發(fā)入門

    2022-03-28 09:31:58

    for循環(huán)語句

    2022-03-10 09:33:21

    Java數(shù)組初始化

    2010-09-08 13:42:06

    2018-12-21 12:25:08

    2017-01-22 21:30:39

    大數(shù)據(jù)Kaggle函數(shù)

    2009-06-15 17:22:36

    JBoss Seam

    2021-12-21 09:02:31

    Matplotlib Python可視化

    2020-11-09 10:19:05

    Java
    點贊
    收藏

    51CTO技術棧公眾號