composer安装php
composer require phpunit/phpunit 注意版本的依赖关系;phpunit5.3须要php 5.6以上,注意安装位置composer
把phpunit加入到环境变量编辑器
C:\kaifa\php\vendor\bin (composer安装完成以后在bin目录下有批处理文件phpunit.bat)ide
在cmd下phpunit --version 查看版本状况;测试
phpunit在phpstrom中的配置(File-->Settings)ui
其实配置一下自动加载就好了this
编写测试文件注意须要把phpunit 类库加载到编辑器便于提示(项目目录下的External Libraries 右键 Configure PHP include path)code
一个phpunit文件的简单例子get
<?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'cmd