在Web開發(fā)中,程序的運(yùn)行環(huán)境是非常重要的,可靠的測試方法可以保障開發(fā)的質(zhì)量和效率。在PHP的開發(fā)領(lǐng)域,autorunner是一款高效的測試工具,本文將介紹如何使用autorunner測試PHP程序。
與其他測試工具相比,autorunner最大的優(yōu)點(diǎn)是可以自動檢測代碼的變化并且自動運(yùn)行測試用例。這個特性使得開發(fā)人員可以極大的提高開發(fā)效率,當(dāng)然,前提是我們要撰寫好測試用例。
首先,我們需要安裝autorunner。使用命令行進(jìn)入項(xiàng)目根目錄,使用以下命令安裝:
composer require --dev autorunner/autorunner
然后,在項(xiàng)目根目錄中新建一個tests文件夾,這個文件夾用來存放我們的測試用例。接下來我們將編寫一個簡單的PHP程序:
function add($a, $b) { return $a + $b; }
在項(xiàng)目根目錄中新建test_Add.php文件,用來測試add()方法:
require_once 'some_func.php'; class test_Add extends PHPUnit_Framework_TestCase{ public function testAddition() { $this->assertEquals(3, add(1,2)); } }
在項(xiàng)目根目錄輸入以下命令運(yùn)行自動運(yùn)行測試:
./vendor/bin/autorunner
如果你的輸出與以下內(nèi)容相似,那么測試用例已經(jīng)通過:
PHPUnit 4.3.5 by Sebastian Bergmann. . Time: 73 ms, Memory: 2.50Mb OK (1 test, 1 assertion)
Autorunner一次執(zhí)行多個測試文件,只要文件的命名規(guī)范符合PHPUnit的規(guī)范,也就是類名為test_*,并繼承自PHPUnit_Framework_TestCase這個類。如果我們有多個測試文件,如:
tests/ ---test_Add.php ---test_Sub.php ---test_Mul.php
那么在項(xiàng)目根目錄中輸入以下命令,可以同時運(yùn)行所有測試:
./vendor/bin/autorunner tests/
我們也可以通過配置文件,控制測試工具的啟停。在項(xiàng)目目錄建立.autorunner.yml文件,進(jìn)行相關(guān)配置。比如:
suites: all: source_dirs: ['src'] files: ['*.php'] test_dirs: ['tests'] unit: test_dirs: ['tests/unit'] leave_tests_dirty: true phpunit_args: ['--colors'] # optionals behat: test_dirs: ['behat']
以上就是關(guān)于PHP中autorunner的基礎(chǔ)介紹和使用,通過合理編寫自動化測試用例,我們可以更加有效地發(fā)現(xiàn)程序的問題。當(dāng)然,跑測試并不等于測試,良好的測試用例應(yīng)該兼顧質(zhì)量和數(shù)量,撰寫和運(yùn)行測試應(yīng)該是我們?nèi)粘i_發(fā)的重要一環(huán)。