中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php單元測試如何實現

發布時間:2020-09-17 11:15:55 來源:億速云 閱讀:190 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關php單元測試如何實現的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

windows開發環境下,PHP使用單元測試可以使用PHPUnit。

推薦閱讀:php服務器

安裝PHPUnit

使用 composer 方式安裝 PHPUnit,其他安裝方式請看這里

composer require --dev phpunit/phpunit ^6.2

安裝 Monolog 日志包,做 phpunit 測試記錄日志用。

composer require monolog/monolog

安裝好之后,我們可以看coomposer.json 文件已經有這兩個擴展包了:

"require": { 

    "monolog/monolog": "^1.23",

   },

"require-dev": {

       "phpunit/phpunit": "^6.2"

   },

PHPUnit簡單用法

1、單個文件測試

創建目錄tests,新建文件 StackTest.php,編輯如下:

<?php
/**
 * 1、composer 安裝Monolog日志擴展,安裝phpunit單元測試擴展包
 * 2、引入autoload.php文件
 * 3、測試案例
 *
 *
 */
namespace App\tests;
require_once __DIR__ . '/../vendor/autoload.php';
define("ROOT_PATH", dirname(__DIR__) . "/"); 
use Monolog\Logger;
use Monolog\Handler\StreamHandler; 
use PHPUnit\Framework\TestCase;
class StackTest extends TestCase
{
    public function testPushAndPop()
    {
        $stack = [];
        $this->assertEquals(0, count($stack));
        array_push($stack, 'foo');
 
        // 添加日志文件,如果沒有安裝monolog,則有關monolog的代碼都可以注釋掉
        $this->Log()->error('hello', $stack);
 
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack)); 
        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
 
    public function Log()
    {
        // create a log channel
        $log = new Logger('Tester');
        $log->pushHandler(new StreamHandler(ROOT_PATH . 'storage/logs/app.log', Logger::WARNING));
        $log->error("Error");
        return $log;
    }
}

代碼解釋:

  1. StackTest為測試類

  2. StackTest 繼承于 PHPUnit\Framework\TestCase

  3. 測試方法testPushAndPop(),測試方法必須為public權限,一般以test開頭,或者你也可以選擇給其加注釋@test來表

  4. 在測試方法內,類似于 assertEquals() 這樣的斷言方法用來對實際值與預期值的匹配做出斷言。

命令行執行:

phpunit 命令 測試文件命名

 framework#  ./vendor/bin/phpunit tests/StackTest.php
 
// 或者可以省略文件后綴名
//  ./vendor/bin/phpunit tests/StackTest

執行結果:

?  framework# ./vendor/bin/phpunit tests/StackTest.php
PHPUnit 6.4.1 by Sebastian Bergmann and contributors. 
.                                                                   1 / 1 (100%)
Time: 56 ms, Memory: 4.00MB
OK (1 test, 5 assertions)

感謝各位的閱讀!關于php單元測試如何實現就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南川市| 贵溪市| 合江县| 贵定县| 库尔勒市| 施甸县| 东阿县| 巴林左旗| 吐鲁番市| 琼海市| 邯郸县| 嵩明县| 甘孜| 石台县| 清涧县| 呼伦贝尔市| 剑阁县| 高雄县| 宝山区| 沙坪坝区| 舟曲县| 肥乡县| 平阳县| 海南省| 宾阳县| 宁明县| 屏边| 阿克苏市| 灵宝市| 长乐市| 故城县| 西宁市| 滨州市| 江城| 乐平市| 襄汾县| 苍溪县| 满洲里市| 达尔| 南召县| 玛曲县|