首頁 > 後端開發 > php教程 > 重新引入PHPUNIT:從PHP開始使用TDD

重新引入PHPUNIT:從PHP開始使用TDD

Jennifer Aniston
發布: 2025-02-09 13:02:15
原創
494 人瀏覽過

>本文為當代PHP開發環境提供了PHPUnit的現代介紹。 我們將構建一個簡單的命令行工具,該工具將JSON轉換為PHP數組,並沿途演示PHPUNIT概念。

Re-Introducing PHPUnit: Getting Started with TDD in PHP

我們假設熟悉面向對象的PHP(PHP 7或更高)。 對於簡化的設置,請使用改進的Homestead改進,該設置已預先安裝PHP 7並簡化了該過程。 涉及一些命令行的用法,但我們將指導您完成。

>

密鑰概念:

    PHPUNIT:
  • > PHP的測試框架簡化了測試創建和執行,促進代碼質量和測試驅動的開發(TDD)。 >
  • 測試驅動的開發(TDD):一種方法論,在>之前編寫了測試,指導代碼,指導開發並確保預期的行為。 斷言驗證了預期的結果。 >設置:
  • 涉及使用作曲家創建一個項目,將phpunit作為開發依賴項(
  • )以及配置來管理測試套件和boottrapping。 > composer require phpunit/phpunit --dev>phpunit.xml首次測試:
  • >擴展
  • ,使用斷言(等)來定義預期結果,驅動功能代碼開發。 PHPUnitFrameworkTestCase數據提供商:通過將測試數據與邏輯分開,可以清潔地組織測試。 輕鬆添加新的測試用例而無需修改測試方法。 assertEquals
  • >
  • 代碼覆蓋範圍:報告確定未經測試的代碼,確保全面的測試和應用程序魯棒性。
  • >測試驅動的開發解釋了:
tdd涉及編寫測試,以定義代碼

在編寫代碼本身之前的表現。 斷言(

等)檢查代碼是否符合期望。 失敗的測試表明需要更改代碼。 > > phpunit概述:assertEquals Phpunit提供工具(類和可執行文件),以簡化測試寫作和分析。 它生成顯示代碼質量,覆蓋範圍等的報告。 assertTrue>

>

>示例應用程序:JSON到PHP數組轉換器

>我們將創建一個命令行工具將JSON文件轉換為PHP數組。 假設使用作曲家的PHP 7環境。 如果使用宅基地改進,

進入VM(

)。

項目設置:sshvagrant ssh

  1. 前控制器(converter/public中的index.php):>

    cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*
    登入後複製
    登入後複製
  2. > phpunit.xml:

    <?php echo "Hello world";
    登入後複製
    登入後複製
  3. > tests/autoLoad.php:

    cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*
    登入後複製
    登入後複製
  4. composer.json(更新):(將模板值替換為項目詳細信息)

    <?php echo "Hello world";
    登入後複製
    登入後複製
  5. 運行composer dump-autoload

    >
  6. >首次測試(Tests/sitePoint/Converter/ConverterTest.php):

    <?xml version="1.0" encoding="UTF-8"?>
    <phpunit bootstrap="tests/autoload.php">
        <testsuites>
            <testsuite name="converter">
                <directory suffix="Test.php">tests</directory>
            </testsuite>
        </testsuites>
    </phpunit>
    登入後複製
  7. >運行測試(php vendor/bin/phpunit(最初期望失敗)>

  8. <?php
    require_once __DIR__ . '/../vendor/autoload.php';
    登入後複製
  9. 重新運行的測試。
  10. (現在應該通過)

    >

    >使用數據提供商清潔代碼的數據提供程序以及使用XDEBUG設置代碼覆蓋範圍報告,
  11. 添加了更多測試。 最終部分包括涵蓋TDD和Phpunit最佳實踐的常見問題解答。 完整的代碼可在github上找到(原始文本中提供的鏈接)。
>

以上是重新引入PHPUNIT:從PHP開始使用TDD的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板