上面的只是一个简单的加法的例子,为此,我们使用Annotations去编写一个单元测试,在上两篇文章中,我们采用的是手工编写单元测试的方法,而本文中,将介绍使用phpunit命令行的方法,自动生成单元测试的框架,方法如下:
首先把上面的类保存为MyMathClass.php,然后在命令行下运行如下命令:
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
phpunit –skeleton-test MyMathClass
这时phpunit会自动生成如下的框架单元测试代码:
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
<?php
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
require_once'/path/to/MyMathClass.php';
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
/**
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* Test class for MyMathClass.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* Generated by PHPUnit on 2011-02-07 at 12:22:07.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
*/
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
class MyMathClassTest extends PHPUnit_Framework_TestCase
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
{
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
/**
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* @var MyMathClass
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
*/
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
protected$object;
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
/**
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* Sets up the fixture, for example, opens a network connection.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* This method is called before a test is executed.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
*/
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
protectedfunction setUp()
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
{
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
$this->object=new MyMathClass;
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
}
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
/**
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* Tears down the fixture, for example, closes a network connection.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* This method is called after a test is executed.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
*/
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
protectedfunction tearDown()
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
{
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
}
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
/**
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
* @todo Implement testAddValues().
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
*/
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
publicfunction testAddValues()
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
{
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
// Remove the following lines when you implement this test.
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
$this->markTestIncomplete(
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
'This test has not been implemented yet.'
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
);
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
}
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
}
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)
?>
![PHP单元测试利器 PHPUNIT深入用法(三)第1/2页](https://tech.chinaunix.net/CodeHighlighter/Images/OutliningIndicators/None.gif)