junit4

eclipse可以通過build path引入junit包

  • 工程中引入junit
  • 隨便寫一個類(計算加減乘除)
image.png
  • 使用junit對類進行單元測試
    右鍵需要單元測試的java文件,new,選擇junit test case
junit test case
image.png

下一步,選擇要測試的方法

next

完成,系統會自動生成一個junit測試文件

test

看一下該類引用的內容,以后可以自己創建測試類

import

里面包含空的測試方法,需要自己去寫用例

用例

執行run as的junit Test
會出現測試結果

junit result

控制臺輸出

console

測試了四個方法,setup觸發了四次。
結果只有第一個方法通過。理論上每個方法若是單獨測試第二個方法也會通過。應該是實例只有一個,而result一直有緩存值的問題。
測試方法之間對待測試類的改變并不是獨立的隔離狀態
setUp在調用每個方法之前都會觸發一次,應該是在測試方法前對類進行一些統一初始化用。
修改測試類,將待測試類實例化放置setup方法內試試。

image.png

失敗

image.png

猜測:難道只能保持一個活躍實例,先在待測試類增加一個重置變量result的方法,使得在測試方法前初始統一。

image.png

然后setup方法調用

image.png

結果測試正確

image.png

multiply是個未完成方法怎么辦?
不對方法進行測試,或者使用@ignore標簽

junit 標簽
image.png

結果

image.png
  • 使用
    首先測試類要引入org.junit.的內容,而使用到的assertEquals是 static org.junit.Assert.的內容。這兩個內容要引入。
    @Before標簽就是在每個測試方法運行前,都會調用的方法
    @Test標簽就是需要測試的方法,可傳入timeout=10000參數設置方法執行限制時間,如果測試異常觸發情況,可傳入expected = ArithmeticException. class ->觸發異常類,測試是否觸發異常
    使用assertEquals傳入理想結果和實際結果對該測試方法的運行目的進行判斷是否正確
    @After標簽 在執行完測試方法后會觸發的方法
    @BeforeClass 在加載測試類時觸發方法,static
    @AfterClass 在結束測試類時觸發方法,static

類標簽@Runwith為測試類指定特殊的Runner,一個類只能用一個runner
例如:
同一個方法,測試不同的邊界參數,可使用@RunWith(Parameterized. class )

parameterized

如果有多個測試類,想一起執行測試,可以使用@RunWith(Suite. class)
且一起使用標簽@SuiteClasses進行管理本次執行測試的類有哪些

suite

測試結果

image.png

與mockito配合使用的文章

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,951評論 19 139
  • 1.初級篇 1.1 單元測試 我們在編寫大型程序的時候,需要寫成千上萬個方法或函數,這些函數的功能可能很強大,但我...
    流川楓AI閱讀 2,497評論 0 8
  • 注意事項: 測試方法上必須使用@Test修飾 測試方法必須使用public void進行修飾,不能帶任何參數 新建...
    魯克巴克詩閱讀 1,787評論 0 3
  • 一、簡介 之前,簡單的測試我都是使用print打印控制面板來實現查看方法是否實現了需要的功能,現在,使用ju...
    蠟筆小噺沒有煩惱閱讀 633評論 0 1
  • 1、什么是Junit4 JUnit4是一個易學易用的Java單元測試框架,一般我們在寫完一段代碼或一個方的時候,都...
    音為愛閱讀 5,579評論 1 8