通过Composer安装PHPunit并配置Phpstrom

全栈 shanhuhai 11199℃ 0评论

相信单元测试对于大多数PHP程序员来说还都处于听说过的阶段,似乎PHP就是为了开发速度快而生的,做了单元测试岂不是会拖慢开发速度?这个说法好像也是有道理的,但是还是要针对项目特点,有些对稳定性,健壮性要求的项目,做单元测试可以大幅减少bug的产生率,提高后期维护性,所以想做一个优秀靠谱的PHP 程序员会做单元测试是必不可少的。

在PHP界用 phpunit 做单元测试几乎是标配,今天就来学习安装和使用 phpunit。

首先如果你已经安装了 composer, 可以将 PHPunit安装到全局,以便后期多个项目可以公用。

执行命令:

composer global require phpunit/phpunit

安装完后在你的项目根目录下创建tests 目录用来存放测试代码,例如我们在 tests 目录下创建一个测试文件 StackTest.php:


use PHPUnit\Framework\TestCase; class StackTest extends TestCase { public function testPushAndPop() { $stack = []; $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } }

(注意测试文件的命名StackTest.php跟类名对应)
这个测试用来测试 array_push, array_pop 等函数。

为了能自动能找到 PHPUnit\Framework\TestCase 类,在你的项目目录下还需要引入一次phpunit,执行

composer require --dev phpunit/phpunit

创建 phpunit.xml放在你的项目根目录, 这个文件是 phpunit 会默认读取的一个配置文件:

<phpunit bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="service">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

首先 bootstarp 用来配置启动文件,就是执行测试时首先会加载的一个文件,如果你是用 composer 来组织项目的,写vendor/autoload.php就好。

安装完后配置 Phpstorm,

phpstorm配置phpunit

这时候可以直接在phpstorm 里运行测试了。

转载请注明:大后端 » 通过Composer安装PHPunit并配置Phpstrom

付费咨询
喜欢 (2)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址