W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
編排測試套件的各種方式中,最簡單的大概就是把所有測試用例源文件放在一個測試目錄中。通過對測試目錄進行遞歸遍歷,PHPUnit 能自動發(fā)現(xiàn)并運行測試。
現(xiàn)在來看看 sebastianbergmann/money 這個庫的測試套件。在這個項目的目錄結(jié)構(gòu)中,可以看到 tests
目錄下的測試用例類鏡像了 src
目錄下被測系統(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
要運行這個庫的全部測試,只要將 PHPUnit 命令行測試執(zhí)行器指向測試目錄即可:
phpunit --bootstrap src/autoload.php tests
PHPUnit 5.0.0 by Sebastian Bergmann.
.................................
Time: 636 ms, Memory: 3.50Mb
OK (33 tests, 52 assertions)
Note
當(dāng) PHPUnit 命令行測試執(zhí)行器指向一個目錄時,它會在目錄下查找
*Test.php
文件。
如果只想運行在 CurrencyTest
文件中的 tests/CurrencyTest.php
測試用例類中聲明的測試,可以使用如下命令:
phpunit --bootstrap src/autoload.php tests/CurrencyTest
PHPUnit 5.0.0 by Sebastian Bergmann.
........
Time: 280 ms, Memory: 2.75Mb
OK (8 tests, 8 assertions)
如果想要對運行哪些測試有更細粒度的控制,可以使用 --filter
選項:
phpunit --bootstrap src/autoload.php --filter testObjectCanBeConstructedForValidConstructorArgument tests
PHPUnit 5.0.0 by Sebastian Bergmann.
..
Time: 167 ms, Memory: 3.00Mb
OK (2 test, 2 assertions)
Note
這種方法的缺點是無法控制測試的運行順序。這可能導(dǎo)致測試的依賴關(guān)系方面的問題,參見 the section called “測試的依賴關(guān)系”。在下一節(jié)中,可以看到如何用 XML 配置文件來明確指定測試的執(zhí)行順序。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: