• <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測試驅動開發介紹

    發表于:2010-07-06來源:作者:點擊數: 標簽:phpPHP開發驅動
    PHP 測試驅動開發 介紹 軟件測試 摘要 本文向你介紹測試驅動開發的概念,并用一個簡單的示例項目來做示范。 介紹xml:lang="en-us" 開發PHP產品有很多不同的方法。我們大多數傾向于從一個簡單的腳本開始,逐步向前推進。 或許我們可以預先列出我們的腳本,但

      PHP測試驅動開發介紹   軟件測試

      摘要

      本文向你介紹測試驅動開發的概念,并用一個簡單的示例項目來做示范。

      介紹xml:lang="en-us">

      開發PHP產品有很多不同的方法。我們大多數傾向于從一個簡單的腳本開始,逐步向前推進。 或許我們可以預先列出我們的腳本,但是我們往往是停留在開發階段,在需要測試的時候不會真正的去開始測試?;旧?,我們是先開發后測試。

      但是這樣做或許不是最好的辦法,可能會在今后帶來問題。這就是為什么一些開發者提倡一種不同的開發方式,叫做測試驅動開發(TDD)的原因- 就是先測試后開發。

      你可能會疑惑這樣該怎么做,而這正是本文將討論的。我將帶領你們通過一個真實的簡單項目去示范TDD如何工作。本文和示例項目都基于Noel Darlow(“McGruff”)在論壇中向另一個論壇成員演示TDD如何工作的討論。

      我們的示例項目是一個Biter類,它通過使用正則表達式可以“咬掉”字符串中的片段,就象這樣:

      bite ('/pattern/');?>

      我們的類也將修改原始的字符串,把匹配的部分去除(所以我們叫它“吞噬者”)。

      讓我們從設置測試框架開始。

      設置測試框架

      由于我們從測試出發,我們需要有一些測試框架。我將使用SimpleTest 框架,僅僅因為我最熟悉它。

      下載一份SimpleTest的拷貝,把它安裝在你本機或者你的服務器上。然后創建一個叫做"test_biter.php"的新文件,里面寫下面的代碼:

      require_once 'simpletest/unit_tester.php';

      require_once 'simpletest/reporter.php';

      class BiterTestCase extends UnitTestCase {

      function testSetup () {

      $this->assertTrue(false);

      }

      }

      $test = new BiterTestCase('TDD Biter Test');

      $test->run(new HtmlReporter());

      ?>

      讓我們分析一下這個例子。首先我們包含了一些SimpleTest框架的文件(你要確認一下路徑是否和你的一樣)。接著我們建立了一個叫做 BiterTestCase的新類,它將用來測試我們的Biter類。象你看到的一樣,BiterTestClase類繼承于UnitTestCase 類,這個意味著BiterTestClass是我們第一個真正意義上的測試用例。

      BiterTestClass類只有一個方法調用叫做'testSetup'。任何以“test”開頭的方法都會被SimpleTest框架自動執行,因此它們應該是被用來測試項目中的某個部分。在上面的例子中,我們通過調用assertTrue()方法來確認框架被正確設置。

      例子中的后面兩行是建立一個測試用例的實例,然后運行所有測試。如果所有設置都正確的話,你會得到下面的輸出:

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>