首页 >后端开发 >php教程 >重新引入PHPUNIT:从PHP开始使用TDD

重新引入PHPUNIT:从PHP开始使用TDD

Jennifer Aniston
Jennifer Aniston原创
2025-02-09 13:02:15505浏览

>本文为当代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):>

    <code class="language-bash">cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*</code>
  2. > phpunit.xml:

    <code class="language-php"><?php echo "Hello world";</code>
  3. > tests/autoLoad.php:

    <code class="language-bash">cd Code
    git clone https://github.com/php-pds/skeleton converter
    cd converter
    composer require phpunit/phpunit --dev
    rm bin/* src/* docs/* tests/*</code>
  4. composer.json(更新):(将模板值替换为项目详细信息)

    <code class="language-php"><?php echo "Hello world";</code>
  5. 运行composer dump-autoload

    >
  6. >首次测试(Tests/sitePoint/Converter/ConverterTest.php):

    <code class="language-xml"><?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></code>
  7. >运行测试(php vendor/bin/phpunit(最初期望失败)>

  8. <code class="language-php"><?php
    require_once __DIR__ . '/../vendor/autoload.php';</code>
  9. 重新运行的测试。
  10. (现在应该通过)

    >

    >使用数据提供商清洁代码的数据提供程序以及使用XDEBUG设置代码覆盖范围报告,
  11. 添加了更多测试。 最终部分包括涵盖TDD和Phpunit最佳实践的常见问题解答。 完整的代码可在github上找到(原始文本中提供的链接)。
>

以上是重新引入PHPUNIT:从PHP开始使用TDD的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn