PHPUnit 的 TestDox 功能著眼于測試類及其所有測試方法的名稱,將它們駝峰式大小寫(camel case)(或蛇式大小寫(snake_case))拼寫的 PHP 名稱轉(zhuǎn)換為句子:?testBalanceIsInitiallyZero()
?(或 ?test_balance_is_initially_zero()
?)轉(zhuǎn)化為“Balance is initially zero”。如果有多個測試方法的名字互相之間的差異只是一個或多個數(shù)字的后綴,例如 ?testBalanceCannotBecomeNegative()
? 和 ?testBalanceCannotBecomeNegative2()
?,假如所有這些測試都成功,句子“Balance cannot become negative”只會出現(xiàn)一次。
來看一下從 ?BankAccount
?類生成的敏捷文檔:
$ phpunit --testdox BankAccountTest.php
PHPUnit latest.0 by Sebastian Bergmann and contributors.
BankAccount
? Balance is initially zero
? Balance cannot become negative
另外,敏捷文檔也能以 HTML 或純文本格式生成并寫入文件中,用 ?--testdox-html
? 和 ?--testdox-text
? 參數(shù)即可。
敏捷文檔可以用于將對項目所使用的外部包所做出的假設(shè)文檔化。使用外部包,你就暴露于這個包的行為與你所預(yù)期的不同的風(fēng)險中,并且包的未來版本可能在你所不知道的情況下有微妙的改變并破壞你的代碼。每次做出假設(shè)時就編寫一個對應(yīng)的測試可以處理這些風(fēng)險。如果測試成功,那么假設(shè)就有效。如果所有的假設(shè)都通過測試來文檔化,外部包在未來發(fā)布新版本就不會引起憂慮:如果測試成功,那么系統(tǒng)就應(yīng)當(dāng)能繼續(xù)正常運作。
更多建議: