首頁 > 後端開發 > php教程 > phpmaster |開始使用phpunit

phpmaster |開始使用phpunit

Christopher Nolan
發布: 2025-03-02 08:33:15
原創
481 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板