亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

汤原县| 贵南县| 秦皇岛市| 武隆县| 郧西县| 苏尼特左旗| 凤城市| 甘泉县| 遂昌县| 浪卡子县| 辽中县| 贺州市| 崇文区| 旌德县| 九龙县| 洛川县| 黔东| 高清| 博野县| 隆尧县| 中阳县| 普陀区| 海城市| 原平市| 泾源县| 台北县| 金堂县| 项城市| 梅河口市| 通化县| 布尔津县| 白水县| 溧阳市| 新竹市| 根河市| 宜昌市| 德令哈市| 洪湖市| 隆林| 黑山县| 太康县|