91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

汽车| 华蓥市| 中阳县| 四川省| 哈密市| 拉萨市| 阿坝县| 潍坊市| 沛县| 灌云县| 库伦旗| 雅安市| 修水县| 临西县| 锦州市| 莱阳市| 沂南县| 淮滨县| 齐齐哈尔市| 焉耆| 黄山市| 平昌县| 那曲县| 丹棱县| 垫江县| 宁津县| 新泰市| 河津市| 洛扎县| 邹城市| 进贤县| 无极县| 马关县| 德兴市| 武功县| 宁国市| 张掖市| 高淳县| 射洪县| 镇宁| 绥中县|