路是爬出來的

          [導(dǎo)入]單元測試之實(shí)踐一,關(guān)于設(shè)計(jì)的常見分層

                  我做過的項(xiàng)目不多。也就幾個(gè)。做項(xiàng)目的經(jīng)歷是個(gè)學(xué)習(xí)的過程。

                 第一個(gè)項(xiàng)目,純Jsp,沒有任何的java類,當(dāng)時(shí)就覺得好郁悶啊。做久了,根本找不到北。

                 第2個(gè)項(xiàng)目:開始會(huì)用些javabean來做了。但是還是一個(gè)字好亂。

                 第3個(gè)項(xiàng)目:開始使用hibernate, 只是對(duì)數(shù)據(jù)庫層做了些簡單的封裝,修改起來比較好了點(diǎn)

                 第4個(gè)項(xiàng)目:研究Webwork+spring+hibernate。終于實(shí)現(xiàn)了所謂的MVC了。哈哈,該起程序來終于開始有點(diǎn)爽了。

                第5個(gè)項(xiàng)目: 開始引入了單元測試,現(xiàn)在還在很懵懂在學(xué)習(xí)中,為了更好的測試,我們開始努力寫出更高質(zhì)量的代碼。所以對(duì)軟件的分層更細(xì)致了些。



                我們可以從測試來分出上的設(shè)計(jì)的好壞。

                1,純jsp,根本無從單元測試,我想就是那些大牛們也很難寫出這樣的測試代碼吧

                2,對(duì)于純粹只有g(shù)et/set的javabean而言,我想應(yīng)該是沒有必要做單元測試的。如果有邏輯代碼的話,測試起來也是相當(dāng)困難的,因?yàn)槟悴恢览锩娴倪壿嫶a跟多少個(gè)類大了交道,你會(huì)為了測試這段代碼,建立相關(guān)的環(huán)境,比如啟動(dòng)EJB,Web容器等。跟難預(yù)料的是,跟你耦合的類未必就是正確的,其實(shí)你的測試代碼跟你的javabean邏輯是對(duì)的,但是因?yàn)槟阋玫念悾ㄒ簿褪邱詈项悾┑倪壿嬍清e(cuò)誤的,這將導(dǎo)致你的測試是個(gè)紅色,“真的很抱歉,其實(shí)我也不想這樣的,單元測試說”。 這樣就足以證明是你的設(shè)計(jì)問題了。并不是單元測試的問題。所以說第個(gè)項(xiàng)目測試是很難測是的。只是比不能測試好一點(diǎn)點(diǎn)。

                3,至于第3個(gè)跟第2個(gè)差不多。

                4,第4個(gè)由于對(duì)每個(gè)層做了細(xì)致設(shè)計(jì),所以設(shè)計(jì)測試代碼容易點(diǎn),而且可以通過easymock等工具進(jìn)行分層測試,這樣可以做到更細(xì)粒度的測試,對(duì)測試覆蓋率也是很有幫助的。下面我將主要通過第4個(gè)項(xiàng)目的用戶注冊(cè)例子來講單元測試的各個(gè)方面。



          先看下,源代碼的包結(jié)構(gòu)。





          接下來看下流程圖。

          可以很清楚的知道,沒一層做些什么工作,接下的文章,我將會(huì)根據(jù)我的設(shè)計(jì)習(xí)慣,一一給出他們相應(yīng)的測試代碼。希望高手們指教。

          我不會(huì)繪制UML圖,所以只好手工來畫,可惜手機(jī)像素不高,所以。。。。






          文章來源: http://wuhua.javaeye.com/blog/38259

          posted on 2006-12-30 08:39 路是爬出來的 閱讀(92) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 广丰县| 六盘水市| 新源县| 荔波县| 炎陵县| 梨树县| 楚雄市| 蓬溪县| 恭城| 建德市| 象山县| 揭东县| 泸定县| 岚皋县| 新民市| 新昌县| 长垣县| 嘉兴市| 乌拉特中旗| 平顶山市| 青阳县| 珲春市| 吴江市| 嘉义县| 博罗县| 宁城县| 乃东县| 南昌县| 定州市| 巴南区| 民县| 津南区| 湘潭县| 东丽区| 文昌市| 保山市| 南开区| 稷山县| 宝应县| 寿宁县| 渑池县|