首页 >后端开发 >php教程 >phpmaster |开始使用phpunit

phpmaster |开始使用phpunit

Christopher Nolan
Christopher Nolan原创
2025-03-02 08:33:15484浏览

phpmaster | Getting Started with PHPUnit

本教程已经过时了。 有关PHPUNIT的当前介绍,请参阅我们最近发布的最新指南。


>自动化网站测试对于有效开发至关重要。 单元测试简化了此过程,阻止了代码更新引入的错误。本文提供了对PHPUNIT的基本理解,指导您进行第一个单元测试。>

>开始之前,请确保安装phpunit。 说明可在phpunit手册中找到,网址为https://www.php.cn/link/991C09555DA2313335E4864D3389698FD5

>

>。

创建您的第一个测试

我们将从代表用户的简单php类开始:

<?php
class User {
    protected $name;

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }

    public function talk() {
        return "Hello world!";
    }
}
为了测试用户的问候,我们创建了一个测试类,

。 测试类名称通常反映了正在测试的类。 测试类包括经过测试的类和Phpunit的自动加载:UserTest>

<?php
require_once "PHPUnit/Autoload.php";
require_once "User.php";

class UserTest extends PHPUnit_Framework_TestCase {
}
每个测试是此类中的一种方法。 我们使用

来验证问候:assertEquals()

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    public function testTalk() {
        $user = new User();
        $expected = "Hello world!";
        $actual = $user->talk();
        $this->assertEquals($expected, $actual);
    }
}

利用phpunit固定装置 在每种测试方法中反复设置对象效率低下。 Phpunit固定装置在每个测试之前都建立一个状态,然后将其重置。 我们覆盖

来创建和初始化用户:

setUp() 每次测试后,

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    protected $user;

    protected function setUp() {
        $this->user = new User();
        $this->user->setName("Tom");
    }
}

tearDown()现在,

简化为:
<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    protected function tearDown() {
        unset($this->user);
    }
}

testTalk()

运行测试
<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    public function testTalk() {
        $expected = "Hello world!";
        $actual = $this->user->talk();
        $this->assertEquals($expected, $actual);
    }
}

>使用从终端运行测试。 一个。表示成功的测试,而“ F”表示故障。 其他字符表示错误,跳过测试或不完整的测试。

phpunit处理测试失败

>修改类以返回“ blubb”,而不是“ Hello World!”将导致测试失败,提供详细的错误信息。

User结论

>本简介展示了Phpunit的简单性。 进一步探索其能力;实验,从错误中学习,并查阅Phpunit手册以获取高级技术和断言方法。 提供的代码(在Github上可用)使用Composer进行依赖关系管理; 语句应调用

。 使用

requirevendor/autoload.php图像通过Acripoch / Shutterstock tests../vendor/bin/phpunit UnitTest UserTest.php>

以上是phpmaster |开始使用phpunit的详细内容。更多信息请关注PHP中文网其他相关文章!

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