Eclipse快速上手指南之使用JUnit
[url]http://www.chinaitpower.com/A/2004-12-01/142029.html[/url]
在Eclipse中使用JUnit
測試對於保證軟體開發質量有著非常重要的作用,單元測試更是必不可少,JUnit是一個非常強大的單元測試包,可以對一個/多個類的單個/多個方法測試,還可以將不同的TestCase組合成TestSuit,使測試任務自動化。Eclipse同樣整合了JUnit,可以非常方便地編寫TestCase。
我們建立一個Java工程,新增一個example.Hello類,首先我們給Hello類新增一個abs()方法,作用是返回絕對值:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117827_1.jpg[/img]
下一步,我們準備對這個方法進行測試,確保功能正常。選中Hello.java,右鍵點選,選擇New->JUnit Test Case:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117825_2.jpg[/img]
Eclipse會詢問是否新增junit.jar包,確定後新建一個HelloTest類,用來測試Hello類。
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117826_3.jpg[/img]
選中setUp()和tearDown(),然後點選“Next”:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117823_4.jpg[/img]
選擇要測試的方法,我們選中abs(int)方法,完成後在HelloTest.java中輸入:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117823_5.jpg[/img]
JUnit會以以下順序執行測試:(大致的程式碼)
try {
HelloTest test = new HelloTest(); // 建立測試類例項
test.setUp(); // 初始化測試環境
test.testAbs(); // 測試某個方法
test.tearDown(); // 清理資源
}
catch…
setUp()是建立測試環境,這裡建立一個Hello類的例項;tearDown()用於清理資源,如釋放開啟的檔案等等。以test開頭的方法被認為是測試方法,JUnit會依次執行testXxx()方法。在testAbs()方法中,我們對abs()的測試分別選擇正數,負數和0,如果方法返回值與期待結果相同,則assertEquals不會產生異常。
如果有多個testXxx方法,JUnit會建立多個XxxTest例項,每次執行一個testXxx方法,setUp()和tearDown()會在testXxx前後被呼叫,因此,不要在一個testA()中依賴testB()。
直接執行Run->Run As->JUnit Test,就可以看到JUnit測試結果:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117828_6.jpg[/img]
綠色表示測試通過,只要有1個測試未通過,就會顯示紅色並列出未通過測試的方法。可以試圖改變abs()的程式碼,故意返回錯誤的結果(比如return n+1;),然後再執行JUnit就會報告錯誤。
如果沒有JUnit皮膚,選擇Window->Show View->Other,開啟JUnit的View:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117820_7.jpg[/img]
JUnit通過單元測試,能在開發階段就找出許多Bug,並且,多個Test Case可以組合成Test Suite,讓整個測試自動完成,尤其適合於XP方法。每增加一個小的新功能或者對程式碼進行了小的修改,就立刻執行一遍Test Suite,確保新增和修改的程式碼不會破壞原有的功能,大大增強軟體的可維護性,避免程式碼逐漸“腐爛”。
在Eclipse中使用JUnit
測試對於保證軟體開發質量有著非常重要的作用,單元測試更是必不可少,JUnit是一個非常強大的單元測試包,可以對一個/多個類的單個/多個方法測試,還可以將不同的TestCase組合成TestSuit,使測試任務自動化。Eclipse同樣整合了JUnit,可以非常方便地編寫TestCase。
我們建立一個Java工程,新增一個example.Hello類,首先我們給Hello類新增一個abs()方法,作用是返回絕對值:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117827_1.jpg[/img]
下一步,我們準備對這個方法進行測試,確保功能正常。選中Hello.java,右鍵點選,選擇New->JUnit Test Case:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117825_2.jpg[/img]
Eclipse會詢問是否新增junit.jar包,確定後新建一個HelloTest類,用來測試Hello類。
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117826_3.jpg[/img]
選中setUp()和tearDown(),然後點選“Next”:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117823_4.jpg[/img]
選擇要測試的方法,我們選中abs(int)方法,完成後在HelloTest.java中輸入:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117823_5.jpg[/img]
JUnit會以以下順序執行測試:(大致的程式碼)
try {
HelloTest test = new HelloTest(); // 建立測試類例項
test.setUp(); // 初始化測試環境
test.testAbs(); // 測試某個方法
test.tearDown(); // 清理資源
}
catch…
setUp()是建立測試環境,這裡建立一個Hello類的例項;tearDown()用於清理資源,如釋放開啟的檔案等等。以test開頭的方法被認為是測試方法,JUnit會依次執行testXxx()方法。在testAbs()方法中,我們對abs()的測試分別選擇正數,負數和0,如果方法返回值與期待結果相同,則assertEquals不會產生異常。
如果有多個testXxx方法,JUnit會建立多個XxxTest例項,每次執行一個testXxx方法,setUp()和tearDown()會在testXxx前後被呼叫,因此,不要在一個testA()中依賴testB()。
直接執行Run->Run As->JUnit Test,就可以看到JUnit測試結果:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117828_6.jpg[/img]
綠色表示測試通過,只要有1個測試未通過,就會顯示紅色並列出未通過測試的方法。可以試圖改變abs()的程式碼,故意返回錯誤的結果(比如return n+1;),然後再執行JUnit就會報告錯誤。
如果沒有JUnit皮膚,選擇Window->Show View->Other,開啟JUnit的View:
[img]http://www.chinaitpower.com/A-A-A/2005/07/17/20050717090930117820_7.jpg[/img]
JUnit通過單元測試,能在開發階段就找出許多Bug,並且,多個Test Case可以組合成Test Suite,讓整個測試自動完成,尤其適合於XP方法。每增加一個小的新功能或者對程式碼進行了小的修改,就立刻執行一遍Test Suite,確保新增和修改的程式碼不會破壞原有的功能,大大增強軟體的可維護性,避免程式碼逐漸“腐爛”。
相關文章
- Java單元測試之JUnit 5快速上手Java
- Docker 快速上手指南Docker
- LLaMA快速上手指南
- Maven快速上手使用指南的筆記Maven筆記
- React 教程:快速上手指南React
- Github Action 快速上手指南Github
- 快速上手之dockerDocker
- Vue入門指南(快速上手vue)Vue
- Android BLE 快速上手指南Android
- vue3快速上手指南Vue
- 《Flutter快速上手指南》先導篇Flutter
- 華為雲伺服器快速上手指南伺服器
- 如何下載Junit並在eclipse上配置JunitEclipse
- 【實用】iOS開發者後臺快速上手指南iOS
- 深度學習框架新手快速上手指南深度學習框架
- java+junit+selenium+EclipseJavaEclipse
- 使用Taro開發鴻蒙原生應用——快速上手,鴻蒙應用開發指南鴻蒙
- 使用 Taro 開發鴻蒙原生應用 —— 快速上手,鴻蒙應用開發指南鴻蒙
- Vue入門指南-06 Vue中的動畫(快速上手vue)Vue動畫
- Vue入門指南-07 Vue中的元件(快速上手vue)Vue元件
- Vue入門指南-01建立vue例項 (快速上手vue)Vue
- aspnetcore 應用 接入Keycloak快速上手指南NetCore
- 【Flutter2.0 快速上手指南】 Flutter 空安全深入解析Flutter
- [原] eclipse 無法找到 run as junitEclipse
- Redis 快速上手Redis
- 快速上手BootstrapVuebootVue
- ElasticJob 快速上手AST
- Flask快速上手Flask
- JDBC快速上手JDBC
- docker 快速上手Docker
- Vue入門指南-03 vue官方提供的指令 (快速上手vue)Vue
- eclipse maven打包 跳過junit測試EclipseMaven
- 快速上手php:使用PhpStrom部署專案PHP
- 快速上手php:使用PhpStrom除錯phpPHP除錯
- Elasticsearch上手指南Elasticsearch
- 使用Eclipse快速開發JSPEclipseJS
- Flask之旅: 快速上手Flask
- Vue框架快速上手Vue框架