在本文中,筆者將為大家介紹phpunit中的兩個高級概念和用法,盡管它不一定在你的日常單元測試中都用到,但理解和學會它們的用法對學習phpunit還是十分重要的。 phpunit中的Annotations
如果有其他編程語言經驗的開發者,應該對Annotations(注解)不陌生,其實在phpunit中,一個簡單的如下面的一段注釋也可以認為是Annotations:
<?php
class MyTestClass extends phpUnit_Framework_TestCase
{
/**
* Testing the answer to “do you love unit tests?”
*/
public function testDoYouLoveUnitTests()
{
$love = true;
$this->assertTrue($love);
}
}
?> 可以看到,其實一段以/** **/為標記的文字,就可以認為是一種Annotations,但Annotations其實不單單是簡單的注釋,它是與一個程序元素相關聯信息或者元數據的標注,它不影響程序的運行,但相關的軟件工具或框架能夠將其轉換成特殊的元數據標記,以方便開發者以更少的代碼去提高效率(比如通過。如果你熟悉Java,則會發現在Java SE 5中及象Spring等框架中,都大量使用了Annotations。
然而,由于php并不象Java那樣是編譯性語言,因此本身缺乏去解析Annotations的機制,但幸好phpunit去提供了這樣的功能,我們以下面的代碼為例:
<?php
class MyMathClass
{
/**
* Add two given values together and return sum
*/
public function addValues($a,$b)
{
return $a+$b;
}
}
?> 上面的只是一個簡單的加法的例子,為此,我們使用Annotations去編寫一個單元測試,在上兩篇文章中,我們采用的是手工編寫單元測試的方法,而本文中,將介紹使用phpunit命令行的方法,自動生成單元測試的框架,方法如下:
首先把上面的類保存為MyMathClass.php,然后在命令行下運行如下命令:
phpunit
主站蜘蛛池模板:
上杭县|
新闻|
阿图什市|
襄樊市|
霍邱县|
宁明县|
佛冈县|
曲阳县|
广汉市|
吉首市|
巩留县|
隆安县|
民丰县|
游戏|
独山县|
广宗县|
高密市|
扶沟县|
台北县|
吴忠市|
松潘县|
澳门|
罗山县|
宿州市|
云南省|
海南省|
长岛县|
贵溪市|
河北省|
余庆县|
南通市|
卢氏县|
垣曲县|
洛扎县|
邛崃市|
军事|
大埔区|
乐安县|
仁寿县|
日土县|
弥渡县|