Java之旅hibernate(6)——Junit不為人知的故事

來源:互聯網
上載者:User

標籤:clip   階段   繼承   新大陸   穩定性   config   xtend   tca   操作   

  說道Junit,我們首先不得不說測試的重要性。一個健壯的軟體肯定是經過不斷地的測試後才幹終於被應用的。在測試的過程中能夠發現非常多不穩定性或者說是存在一定的bug等等。這些都能夠在測試階段發現。而不會被推到被使用者真正的使用的時候。避免了不良好的使用者體驗。

 當我們看java來源程式的時候。總是會看到這種一個目錄,名字為test,好奇的你是否點開過呢?

 沒錯,這裡就是我們書寫的測試程式,使得在團隊開發過程中。彼此的互動更加的可靠和穩定。

 那麼Junti詳細是什麼呢?

 1.       Junit

  要想在Junit中使用。首先必須引入Junit包,網上下載一個JUnit包,尾碼名為 jar . 開啟eclipse  ,建立項目。項目建好後在項目名稱上單擊滑鼠右鍵,選擇build path-->Config build path ,在properties for....表單中左邊選擇Java Build Path 右邊選擇Libraries,再點擊Add External Jars 。找到你下載的那個JUnit包。點擊開啟,然後點擊OK。即可了。

  ?  建立測試的目錄,建立的目錄是“Source Folder”類型的

  ?  建立一個類,用於測試“UserManager”

  ?  建立測試程式(Junit是使用預期值和實際值的對照)

  ?  結果

 

  這是大致的一個範例,詳細的大家上網收集資料。

 2.       不為人知——組合模式

  前一陣子,我們開展了設計模式演講大賽,非常榮幸的我被選為組長。我們組負責的是組合模式。看到這個模式之後,自己首先是聯絡了生活,看看生活中存在哪些範例。

  組合模式圖:

  ?  組合模式生活篇

 我們每一個家庭都是有家譜的,那麼家譜就是一個組合模式,怎麼說呢?

  對比上面的組合模式圖:最上面是爸爸,爸爸和媽媽結婚後就有了一個女兒和兒子。而女兒是無法傳宗接代的。可是兒子能夠。兒子以下又是能夠分的,整個組合成一個家族。

  此外像窗外的樹木,存在主乾和枝幹以及樹葉等等,還有我們作業系統中的檔案和目錄等等,這些都是我們生活中的常見了,這裡不再說了。

  ?  組合模式精彩篇

  無意看到一些資料,發現我們經常使用的單元測試“Junit”居然是一種模式。宛如哥倫布發現新大陸一樣,我的心裡無比的欣喜。

如今讓我們一層層的揭開這神奇的面紗吧。

  在我們書寫測試程式的時候,我們常常書寫這種話:

public class test extends TestCase {

 

}

 

  事實上TestCase並非一個單獨存在的。它事實上是實現了某一個介面的,這個介面就是Test,此外除了TestCase外,我們另一個測試的類就是TestSuite。它事實上是囊括了TestCase的一個集合。這樣三者的關係就出來了。我們看看吧。

   TestCase

  定義:abstract class TestCase extends Assert implements Test 繼承了Assert類並且實現了Test介面。並且是個抽象類別。

   TestSuite

  定義:class TestSuite implements Test;  Test介面的實作類別,和TestCase一樣. 可是TestSuite是一系列testcase的集合,將全部要執行的testcase add到TestSuite。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

     假設說前面的一個是單個的測試的話,而後面的那個是一個組合的測試,組合測試不只能夠加入一個測試類中的多個測試方法。並且能夠加入多個測試類。這麼一說是不是特別像組合模式啊?

      參照上面的組合模式圖,畫出我們的圖形是

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

      我們學習組合模式的時候。事實上Junit與樹節點的那個圖是非常相似的,TestCase相當於葉子節點,它的以下是不能再次進行加入的。而TestSuite不一樣,它是一個枝乾的節點,它的以下是能夠再次進行加入的,與我們學習過的《大話設計模式》上的一樣,TestSuite不不過能夠加入TestCase,也是能夠加入TestSuite。由於其添加一個對象的時候,事實上是相當於添加了一個Test。

 3.       小結

  這是我拋出的一個引子。至於使用還是須要大家去實踐,有興趣的能夠去看看~

 

Java之旅hibernate(6)——Junit不為人知的故事

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.