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

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

  • <strong id="5koa6"></strong>
  • 測試用例詳解

    發表于:2014-08-01來源:uml.org.cn作者:nonultimate點擊數: 標簽:測試用例
    在上篇文章中介紹了如何使用PHPUnit進行單元測試,現在我就來談談如何編寫測試用例以及怎樣保證測試的全面性。

      在上篇文章中介紹了如何使用PHPUnit進行單元測試,現在我就來談談如何編寫測試用例以及怎樣保證測試的全面性。

      通常的測試用例繼承自PHPUnit_Framework_TestCase類,其中的每個測試都以test開頭,而且聲明為公共類型public。每個測試用例都有一個構建方法setUp()和拆除方法tearDown(),分別在每個測試執行之前和之后執行,這兩個方法都聲明為被保護類型protected。測試語句的類型包括斷言、標記跳過、標記未完成。自動生成的測試類使用標記未完成來表示該測試未完成,在測試條件不滿足的情況下要使用標記跳過,如測試Oracle數據庫驅動時沒有Oracle數據庫環境、Linux下無法測試SQL Server數據庫驅動等。測試結果包括成功、失敗和錯誤。出現錯誤的結果說明你的代碼中有語法或運行時錯誤,這些錯誤要首先被解決。

      標記未完成

      在開始寫測試用例時,我們使用標記跳過來表示測試是未完成的,這樣做和什么都不寫的區別是后者會認為測試是成功的,而你可能會在之后忘了寫測試。

      PHP代碼

      class UnitTest extends PHPUnit_Framework_TestCase

      {

      /**

      * 測試Hello()方法

      */

      public function testHello()

      {

      $this->markTestIncomplete('這是一個未完成的測試');

      }

      }

      ?>

      標記跳過

      使用標記跳過來跳過不滿足測試條件的情況,避免出現錯誤而影響測試結果。

      PHP代碼

      class UnitTest extends PHPUnit_Framework_TestCase

      {

      protected function setUp()

      {

      // 該測試用例需要xxx擴展,如果不滿足就跳過

      if (!extension_loaded('xxx')) {

      $this->markTestSkipped('這是一個跳過的測試');

      }

      }

      }

      ?>

      斷言

      布爾類型

      assertTrue 斷言為真

      assertFalse 斷言為假

      NULL類型

      assertNull 斷言為NULL

      assertNotNull 斷言非NULL

      數字類型

      assertEquals 斷言等于

      assertNotEquals 斷言不等于

      assertGreaterThan 斷言大于

      assertGreaterThanOrEqual 斷言大于等于

      assertLessThan 斷言小于

      assertLessThanOrEqual 斷言小于等于

      字符類型

      assertEquals 斷言等于

      assertNotEquals 斷言不等于

      assertContains 斷言包含

      assertNotContains 斷言不包含

      assertContainsOnly 斷言只包含

      assertNotContainsOnly 斷言不只包含

      數組類型

      assertEquals 斷言等于

      assertNotEquals 斷言不等于

      assertArrayHasKey 斷言有鍵

      assertArrayNotHasKey 斷言沒有鍵

      assertContains 斷言包含

      assertNotContains 斷言不包含

      assertContainsOnly 斷言只包含

      assertNotContainsOnly 斷言不只包含

      對象類型

      assertAttributeContains 斷言屬性包含

      assertAttributeContainsOnly 斷言屬性只包含

      assertAttributeEquals 斷言屬性等于

      assertAttributeGreaterThan 斷言屬性大于

      assertAttributeGreaterThanOrEqual 斷言屬性大于等于

      assertAttributeLessThan 斷言屬性小于

      assertAttributeLessThanOrEqual 斷言屬性小于等于

      assertAttributeNotContains 斷言不包含

      assertAttributeNotContainsOnly 斷言屬性不只包含

      assertAttributeNotEquals 斷言屬性不等于

      assertAttributeNotSame 斷言屬性不相同

      assertAttributeSame 斷言屬性相同

      assertSame 斷言類型和值都相同

      assertNotSame 斷言類型或值不相同

      assertObjectHasAttribute 斷言對象有某屬性

      assertObjectNotHasAttribute 斷言對象沒有某屬性

      class類型

      class類型包含對象類型的所有斷言,還有

      assertClassHasAttribute 斷言類有某屬性

      assertClassHasStaticAttribute 斷言類有某靜態屬性

      assertClassNotHasAttribute 斷言類沒有某屬性

      assertClassNotHasStaticAttribute 斷言類沒有某靜態屬性

      文件相關

      assertFileEquals 斷言文件內容等于

    原文轉自:http://www.uml.org.cn/Test/200910169.asp

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