<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            應用設計模式編寫(xiě)易于單元測試的代碼[2]

            發(fā)布: 2010-3-15 10:24 | 作者: 不詳 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 96次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

              應用設計模式編寫(xiě)易于單元測試的代碼[2]   單元測試方法

              從對象創(chuàng )建開(kāi)始

              由于需要使用 Mock Objects 來(lái)模擬外部對象的功能,因此必須修改正常的程序流程,使得被測試功能模塊與 Mock Objects,而不是外部對象進(jìn)行交互。要做到這一點(diǎn),首先要解決的問(wèn)題就是對象創(chuàng )建,即在原本創(chuàng )建外部對象的地方創(chuàng )建 Mock Objects,因此在設計、實(shí)現業(yè)務(wù)邏輯時(shí)需要注意從業(yè)務(wù)邏輯中分離出對象創(chuàng )建邏輯。

              Factory Method 是一種被普遍運用的創(chuàng )建型模式,用于將對象創(chuàng )建的職責分離到獨立的方法中,并通過(guò)子類(lèi)化來(lái)實(shí)現創(chuàng )建不同對象的目的。如果被測試單元所使用的外部對象是通過(guò) Factory Method 創(chuàng )建的,則可以通過(guò)從已有被測試的 Factory 類(lèi)派生出一個(gè)新的 MockFactory,以創(chuàng )建 Mock Objects,并在 setUp 測試中創(chuàng )建 MockFactory,從而間接達到對被測試類(lèi)進(jìn)行測試的目的。

              下面的代碼片段展示了具體的做法:

              // BaseObjects.java

              package com.factorymethod.demo;

              public interface BaseObjects {

              voidfunc();

              }

              // OuterObjects.java

              package com.factorymethod.demo;

              public class OuterObjects implements BaseObjects {

              public void func() {

              System.out.println("OuterObjects.func");

              }

              }

              // LogicToBeTested.java, code to be tested

              package com.factorymethod.demo;

              public class LogicToBeTested {

              public void doSomething() {

              BaseObjects b = createBase();

              b.func();

              }

              public BaseObjects createBase() {

              return newOuterObjects();

              }

              }

             

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 編寫(xiě) 代碼 單元 模式 應用


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>