composer安装
composer require phpunit/phpunit 注意版本的依赖关系;phpunit5.3需要php 5.6以上,注意安装位置
把phpunit加入到环境变量
C:\kaifa\php\vendor\bin (composer安装完成之后在bin目录下有批处理文件phpunit.bat)
在cmd下phpunit --version 查看版本情况;
phpunit在phpstrom中的配置(File-->Settings)
其实配置一下自动加载就行了
编写测试文件注意需要把phpunit 类库加载到编辑器便于提示(项目目录下的External Libraries 右键 Configure PHP include path)
一个phpunit文件的简单例子
<?php
class dependTest extends PHPUnit_Framework_TestCase
{
public function testOne()
{
$this->assertEmpty('');
return '1';
}
/**
* @depends testOne
*/
public function testTwo($a)
{
$this->assertEquals(1, $a);
return '2';
}
/**
* 测试多个依赖
* @depends testOne
* @depends testTwo
*/
public function testMoreDepend()
{
$this->assertEquals(
array(1,2),
func_get_args()
);
}
/**
* 测试异常
*/
public function testException()
{
$this->expectException(InvalidArgumentException::class);
throw new InvalidArgumentException("xx");
}
/**
* 用标注来表示
* @expectedException InvalidArgumentException
*/
public function testException2()
{
throw new InvalidArgumentException();
}
/**
* 测试错误
* @expectedException PHPUnit_Framework_Error
*/
public function testFailingInclude()
{
include 'xx.php';
}
/**
* 测试输出
*/
public function testPrint()
{
$this->expectOutputString('foo');
print 'foo';
}
/**
* 比较不同;查看错误报告
*/
public function testEquals()
{
$this->assertEquals(array(1,2,3), array('1',2,33));
}
/**
* 数据提供者
* @dataProvider addProvider
* @param $a
* @param $b
* @param $expected
*/
public function testDataProvider($a, $b, $expected)
{
$this->assertEquals($expected, $a + $b);
}
public function addProvider()
{
return array(
'test1'=>array(1,2, 3),
'test2'=>array(2,2, 4),
'test3'=>array(3,2, 5),
);
}
}
在该文件点击右键Run 'xxx'