【Java】基于IDE的JUnit软件测试入门
程序的測試及JUnit
我們都知道,程序的Bug是不可避免的,遇到Bug后對程序的修改是經常要進行的過程,我們必須保證程序在修改后其結果仍然是正確的。(當然,我們很難驗證程序是“對的”,而只能保證其在盡可能大面積覆蓋的測試用例中是“對的”。這點可以參考OJ,其實你的程序未必100%對,但過了全部普通或刁鉆的測試用例,就算你AC)
在編寫代碼的同時,還要求編寫測試代碼來判斷這些程序是否正確。甚至先編寫測試用例,再進行軟件開發,使得程序在逐步通過測試用例的過程中完善起來。這個過程稱為“測試驅動”的開發過程(TDD)。
積極地來看,TDD保證了代碼質量,減少了后期的差錯與調試的時間,所以實際上提高了軟件開發的效率。
當然TDD的批評聲也是有的,比如針對其單純為了滿足測試而開發等方面的問題,不過這不是我們這里要研究的啦!
Eclipse與JUnit
Eclipse好像內嵌了JUnit4,我以前也用過,就先不提了。這里講的是基于IDEA的操作。
下載JUnit4
編寫下面的代碼:
package main;import org.junit.Test;public class JUnitTest {@Testpublic int sum(int x, int y) {return x+y;} }鼠標放到@Test上,自動提示是否安裝JUnit4,安裝就好啦!
它還自動幫你導入lib中,很方便。
創建JUnit測試用例
刪去@Test,讓代碼回到這種狀態:
選中待測試方法,右鍵選擇GoTo,再選擇Test。(注意如果不去掉@Test就不是這個樣子,Test被Test Subject換掉了)
再選擇創建新的測試類:
對測試類進行設置:
- 編寫類名
- 確定包路徑
- 選中測試函數
然后,新的測試類生成:
使用assertEquals()簡單地做一下斷言測試:
運行,一切OK,畢竟是一個簡單的程序嘛。
把 x+y 改成 x-y ,模擬原函數錯誤的情況:
運行測試類會報錯:
然后,在原本的代碼上會標紅,提示需要修復Bug以通過測試用例:
測試代碼
package main.test;import main.JUnitTest; import org.junit.Test;import static org.junit.Assert.*;public class JUnitTestTest {@Testpublic void sum() {JUnitTest test = new JUnitTest();assertEquals(test.sum(1, 2), 3);assertEquals(test.sum(1, 2), test.sum(2, 1));assertEquals(test.sum(0, 1000), 1000);assertEquals(test.sum(-2, 3), 1);} }總結
以上是生活随笔為你收集整理的【Java】基于IDE的JUnit软件测试入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件工程】实体类的持久性
- 下一篇: 【Python】Could not fi