單元測試不是頭一次聽(tīng)說(shuō)了,但只是聽(tīng)說(shuō)從來(lái)沒(méi)有用過(guò)。一個(gè)模塊怎么測試呢,是不是得專(zhuān)門(mén)為一單元寫(xiě)一個(gè)測試程序,然后將測試單元代碼拿過(guò)來(lái)測試? 我是這么想的。學(xué)到spring框架這才知道單元測試原來(lái)是這么回事兒。
下面以上一篇文章中set注入的第一個(gè)實(shí)例為測試對象。進(jìn)行單元測試。
1,拷貝jar包
junit-3.8.2.jar(4.x主要增加注解應用)
2,寫(xiě)業(yè)務(wù)類(lèi)
- public class User{
- privateString username;
-
- publicString getUsername() {
- returnusername;
- }
- publicvoid setUsername(String username) {
- this.username= username;
- }
-
-
- publicString login() throws Exception{
- if("admin".equals(username){
- return"success";
- }else{
- return"error";
- }
- }
- }
3,定義測試類(lèi)
測試類(lèi)最好單獨建立項目,或者單獨定義文件夾存儲,需要繼承junit.framework.TestCase
4,增加測試方法
測試方法必須是public,不應該有返回值,方法名必須以test開(kāi)頭,無(wú)參數
測試方法是有執行先后順序,按照方法的定義先后順序
多個(gè)測試方法對同一個(gè)業(yè)務(wù)方法進(jìn)行測試,一般每個(gè)邏輯分支結構都有測試到。
- public class TestUserextends TestCase{
- publicvoid testUser_Success() throws Exception{
-
- Useraction = new User();
- action.setUsername("admin");
-
-
- Stringresult = action.login();
-
-
- assertEquals("success",result);
- }
- }
運行程序,如果測試成功會(huì )出現如下圖所示的結果
如果運行失敗,有方法沒(méi)有通過(guò)測試,那么就會(huì )顯示出在哪個(gè)方法出錯了。上圖中綠色的條會(huì )變成紅色的。
5,測試類(lèi)的生命周期方法
-
-
- @Override
- protectedvoid setUp() throws Exception {
- System.out.println("setUp...");
- }
-
-
- @Override
- protectedvoid tearDown() throws Exception {
- System.out.println("tearDown...");
- }
setUp方法會(huì )在每一個(gè)測試方法前執行一次。tearDown方法會(huì )在每一個(gè)測試方法后執行一次
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。