国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

PHPUnit9.0 組織測(cè)試

2022-05-11 17:19 更新

PHPUnit 的目標(biāo)之一是測(cè)試應(yīng)當(dāng)可組合:我們希望能將任意數(shù)量的測(cè)試以任意組合方式運(yùn)行,例如,整個(gè)項(xiàng)目的所有測(cè)試,或者項(xiàng)目中的某個(gè)組件內(nèi)的所有類的測(cè)試,又或者僅僅某單個(gè)類的測(cè)試。

PHPUnit 支持好幾種不同的方式來組織測(cè)試以及將它們編排組合成測(cè)試套件。本章介紹了最常用的方法。

用文件系統(tǒng)來編排測(cè)試套件

編排測(cè)試套件的各種方式中,最簡(jiǎn)單的大概就是把所有測(cè)試用例源文件放在一個(gè)測(cè)試目錄中。通過對(duì)測(cè)試目錄進(jìn)行遞歸遍歷,PHPUnit 能自動(dòng)發(fā)現(xiàn)并運(yùn)行測(cè)試。
現(xiàn)在來看看 sebastianbergmann/money 這個(gè)庫(kù)的測(cè)試套件。在這個(gè)項(xiàng)目的目錄結(jié)構(gòu)中,可以看到 ?tests ?目錄下的測(cè)試用例類鏡像了 ?src ?目錄下被測(cè)系統(tǒng)(SUT,System Under Test)的包(package)與類(class)的結(jié)構(gòu):

src                                 tests
`-- Currency.php                    `-- CurrencyTest.php
`-- IntlFormatter.php               `-- IntlFormatterTest.php
`-- Money.php                       `-- MoneyTest.php
`-- autoload.php

要運(yùn)行這個(gè)庫(kù)的全部測(cè)試,將 PHPUnit 命令行測(cè)試執(zhí)行器指向測(cè)試目錄:

$ phpunit --bootstrap src/autoload.php tests
PHPUnit latest.0 by Sebastian Bergmann and contributors.

.................................

Time: 636 ms, Memory: 3.50Mb

OK (33 tests, 52 assertions)

當(dāng) PHPUnit 命令行測(cè)試執(zhí)行器指向一個(gè)目錄時(shí),它會(huì)在目錄下查找? *Test.php? 文件。

如果只想運(yùn)行在 ?CurrencyTest ?文件中的 t?ests/CurrencyTest.php? 測(cè)試用例類中聲明的測(cè)試,可以使用如下命令:

$ phpunit --bootstrap src/autoload.php tests/CurrencyTest.php
PHPUnit latest.0 by Sebastian Bergmann and contributors.

........

Time: 280 ms, Memory: 2.75Mb

OK (8 tests, 8 assertions)

如果想要對(duì)運(yùn)行哪些測(cè)試有更細(xì)粒度的控制,可以使用 ?--filter? 選項(xiàng):

$ phpunit --bootstrap src/autoload.php --filter testObjectCanBeConstructedForValidConstructorArgument tests
PHPUnit latest.0 by Sebastian Bergmann and contributors.

..

Time: 167 ms, Memory: 3.00Mb

OK (2 test, 2 assertions)

這種方法的缺點(diǎn)是無法控制測(cè)試的運(yùn)行順序。這可能導(dǎo)致測(cè)試的依賴關(guān)系方面的問題。

用 XML 配置來編排測(cè)試套件

PHPUnit的 XML 配置文件也可以用于編排測(cè)試套件。示例 5.1 展示了一個(gè)最小化的 ?phpunit.xml? 例子,它將在遞歸遍歷 ?tests ?時(shí)添加所有在 ?*Test.php? 文件中找到的 ?*Test? 類。
示例 5.1 用 XML 配置來編排測(cè)試套件

<phpunit bootstrap="src/autoload.php">
  <testsuites>
    <testsuite name="money">
      <directory>tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

要運(yùn)行測(cè)試套件,用 ?--testsuite? 選項(xiàng):

$ phpunit --bootstrap src/autoload.php --testsuite money
PHPUnit latest.0 by Sebastian Bergmann and contributors.

..

Time: 167 ms, Memory: 3.00Mb

OK (2 test, 2 assertions)

如果 ?phpunit.xml? 或 ?phpunit.xml.dist?(按此順序)存在于當(dāng)前工作目錄并且未使用 ?--configuration?,將自動(dòng)從此文件中讀取配置。
可以明確指定測(cè)試的執(zhí)行順序:
示例 5.2 用 XML 配置來編排測(cè)試套件

<phpunit bootstrap="src/autoload.php">
  <testsuites>
    <testsuite name="money">
      <file>tests/IntlFormatterTest.php</file>
      <file>tests/MoneyTest.php</file>
      <file>tests/CurrencyTest.php</file>
    </testsuite>
  </testsuites>
</phpunit>


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)