在本文中,筆者將為大家介紹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
主站蜘蛛池模板:
建始县|
拉萨市|
南溪县|
光泽县|
北安市|
万盛区|
正宁县|
澎湖县|
温宿县|
河东区|
甘德县|
金阳县|
新民市|
荥经县|
抚远县|
驻马店市|
霍山县|
民丰县|
门源|
济宁市|
胶南市|
怀化市|
黔西县|
乐业县|
醴陵市|
辽宁省|
钟山县|
西林县|
泌阳县|
太谷县|
紫阳县|
渭南市|
宁津县|
东乡县|
安顺市|
定日县|
长治县|
南昌县|
东辽县|
赤城县|
无锡市|