目的:
1,phpunit.xml的设置.基本的测试部署
2,dataprovider的几种提供方式
3,以测试驱动开发(TDD)以及敏捷开发模式的目的,编写mock对象。
主要用来设置入口文件和测试套件(testsuite ),其他的设置不谈。
函数提供
public function dataProvider()
{
return array(
array(
array(20320,22909)
),
array(
array(20320,22909)
)
);
}
这里必须是一个二维数组. array(array(a,b),array(a,b)) 这里的a,b相当于 func(a,b),php函数方法也可以用 func_get_args来传递 如 array(array(20320,22909)) func($a=array(20320,22909))
文件提供:
/**
* @dataProvider dataProvider
*/
public function testGetByte(){
$expect_result = array_pop($argc);
$return = $this->bytes->getBytes("你好");
$this->assertEquals($return,$expect_result,"是否支持中文字符转码");
}
附录 phpexcel phpunit.xml
安装方法 wget https://phar.phpunit.de/phpunit.phar
参考手册 https://phpunit.de/manual/current/en/phpunit-book.pdf
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./bootstrap.php"
backupGlobals="true"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
syntaxCheck="true"
verbose="true"
strict="true"
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false">
<php>
<ini name="memory_limit" value="2048M"/>
</php>
<testsuite name="PHPExcel Unit Test Suite">
<directory suffix="Test.php">./Classes</directory>
</testsuite>
<filter>
<whitelist>
<directory suffix=".php">../Classes</directory>
<exclude>
<directory>../Classes/PHPExcel/Shared/PCLZip</directory>
<directory>../Classes/PHPExcel/Shared/JAMA</directory>
<directory>../Classes/PHPExcel/Writer/PDF</directory>
</exclude>
</whitelist>
</filter>
</phpunit>