在本文中,筆者將為大家介紹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
主站蜘蛛池模板:
错那县|
昌乐县|
富裕县|
远安县|
浦城县|
黎城县|
布拖县|
兴宁市|
思南县|
普陀区|
广西|
宁晋县|
碌曲县|
张家界市|
蕲春县|
波密县|
晋州市|
海兴县|
靖宇县|
武川县|
长治市|
浮山县|
安图县|
呼伦贝尔市|
天祝|
皋兰县|
吴桥县|
绵竹市|
颍上县|
吐鲁番市|
玉田县|
上犹县|
阿拉尔市|
烟台市|
永胜县|
汤阴县|
鹿邑县|
保德县|
张家口市|
阳江市|
五常市|