• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

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

    (一)利用單元測試在每個層上對 PHP 代碼進行檢查

    發布: 2009-4-03 08:53 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 27次 | 進入軟件測試論壇討論

    領測軟件測試網   測試驅動的開發單元測試是確保代碼在經過修改和重大調整之后依然能如我們期望的一樣工作的最新方法。在本文中,您將學習到如何在模塊、數據庫和用戶界面(UI)層對自己的 PHP 代碼進行單元測試。
            現在是凌晨 3 點。我們怎樣才能知道自己的代碼依然在工作呢?

            Web 應用程序是 24x7 不間斷運行的,因此我的程序是否還在運行這個問題會在晚上一直困擾我。單元測試已經幫我對自己的代碼建立了足夠的信心 —— 這樣我就可以安穩地睡個好覺了。

            單元測試 是一個為代碼編寫測試用例并自動運行這些測試的框架。測試驅動的開發 是一種單元測試方法,其思想是應該首先編寫測試程序,并驗證這些測試可以發現錯誤,然后才開始編寫需要通過這些測試的代碼。當所有測試都通過時,我們開發的特性也就完成了。這些單元測試的價值是我們可以隨時運行它們 —— 在簽入代碼之前,重大修改之后,或者部署到正在運行的系統之后都可以。

    PHP 單元測試

            對于 PHP 來說,單元測試框架是 PHPUnit2?梢允褂 PEAR 命令行作為一個 PEAR 模塊來安裝這個系統:% pear install PHPUnit2。

            在安裝這個框架之后,可以通過創建派生于 PHPUnit2_Framework_TestCase 的測試類來編寫單元測試。
    模塊單元測試

            我發現開始單元測試最好的地方是在應用程序的業務邏輯模塊中。我使用了一個簡單的例子:這是一個對兩個數字進行求和的函數。為了開始測試,我們首先編寫測試用例,如下所示。


    清單 1. TestAdd.php

    <?php
    require_once 'Add.php';
    require_once 'PHPUnit2/Framework/TestCase.php';

    class TestAdd extends PHPUnit2_Framework_TestCase
    {
      function test1() { $this->assertTrue( add( 1, 2 ) == 3 ); }
      function test2() { $this->assertTrue( add( 1, 1 ) == 2 ); }
    }
    ?>
     


            這個 TestAdd 類有兩個方法,都使用了 test 前綴。每個方法都定義了一個測試,這個測試可以與清單 1 一樣簡單,也可以十分復雜。在本例中,我們在第一個測試中只是簡單地斷定 1 加 2 等于 3,在第二個測試中是 1 加 1 等于 2。

            PHPUnit2 系統定義了 assertTrue() 方法,它用來測試參數中包含的條件值是否為真。然后,我們又編寫了 Add.php 模塊,最初讓它產生錯誤的結果。


    清單 2. Add.php

    <?php
    function add( $a, $b ) { return 0; }
    ?>
     


            現在運行單元測試時,這兩個測試都會失敗。

    清單 3. 測試失敗

    % phpunit TestAdd.php
    PHPUnit 2.2.1 by Sebastian Bergmann.

    FF

    Time: 0.0031270980834961
    There were 2 failures:
    1) test1(TestAdd)

    2) test2(TestAdd)


    FAILURES!!!
    Tests run: 2, Failures: 2, Errors: 0, Incomplete Tests: 0.
     


            現在我知道這兩個測試都可以正常工作了。因此,可以修改 add() 函數來真正地做實際的事情了。

    <?php
    function add( $a, $b ) { return $a+$b; }
    ?>
     


            現在這兩個測試都可以通過了。


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: php PHP 代碼 單元 檢查


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

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>