溫馨提示×

溫馨提示×

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

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

怎么在PHP中對單元測試進(jìn)行配置

發(fā)布時間:2021-03-22 17:08:11 來源:億速云 閱讀:300 作者:Leah 欄目:開發(fā)技術(shù)

怎么在PHP中對單元測試進(jìn)行配置?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

配置說明

1.全局安裝phpunit命令腳本

$ wget https://phar.phpunit.de/phpunit-7.0.phar
$ chmod +x phpunit-7.0.phar
$ sudo mv phpunit-7.0.phar /usr/local/bin/phpunit
$ phpunit --version
PHPUnit x.y.z by Sebastian Bergmann and contributors.

2.全局安裝安裝phpunit代碼

composer global require phpunit/phpunit

3.創(chuàng)建 phpunit.xml放在你的項(xiàng)目根目錄, 這個文件是 phpunit 會默認(rèn)讀取的一個配置文件:

<phpunit bootstrap="vendor/autoload.php">
  <testsuites>
    <testsuite name="service">
      <directory>tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

4.配置phpstorm單元phpunit.phar路徑,Languages & Frameworks > PHP > PHPUinit

如我的phpunit本地的路徑為/usr/local/bin/phpunit

怎么在PHP中對單元測試進(jìn)行配置

5.配置單元測試類提示,Languages & Frameworks > PHP > include path

如我的phpunit包本地的路徑為/Users/chenqionghe/.composer/vendor/phpunit

怎么在PHP中對單元測試進(jìn)行配置

6.單元測試編寫

1.Class為Demo的測試類為DemoTest
2.測試類繼承于 PHPUnit\Framework\TestCase
3.測試方法
  • 必須為public權(quán)限,

  • 一般以test開頭,也可以給其加注釋@test來標(biāo)識

  • 在測試方法內(nèi),類似于 assertEquals() 這樣的斷言方法用來對實(shí)際值與預(yù)期值的匹配做出斷言。

<?php
use Eoffcn\Utils\Arrays;
use PHPUnit\Framework\TestCase;
/**
 * Array測試用例
 * Class ArraysTest
 */
class ArraysTest extends TestCase
{
  public function testGet()
  {
    $array = [
      1 => [
        'b' => [
          'c' => 'cqh'
        ]
      ],
      2 => [
        'b' => [
          'c' => 'cqh'
        ] ]
    ];
    $this->assertEquals('cqh', Arrays::get($array, '1.b.c'));
  }
}

執(zhí)行單元測試   

1.執(zhí)行單個文件單元測試

Phpstorm方式,當(dāng)前測試類右鍵Run即可

怎么在PHP中對單元測試進(jìn)行配置

命令行的方式,進(jìn)行項(xiàng)目目錄執(zhí)行

phpunit tests/ArraysTest.php

  怎么在PHP中對單元測試進(jìn)行配置

2.執(zhí)行全局單元測試

phpstorm方式

 怎么在PHP中對單元測試進(jìn)行配置

怎么在PHP中對單元測試進(jìn)行配置

命令行方式,命令行下進(jìn)入當(dāng)前項(xiàng)目執(zhí)行

phpunit

怎么在PHP中對單元測試進(jìn)行配置

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI