作为一个PHP开发,一直听说单元测试,却没有使用过,自感惭愧,今天闲来无事,去了解了一下单元测试,并且在mac上phpstorm上配置了phpunit
那么使用单元测试有什么好处呢?
单元测试是对单独的代码对象进行测试的过程,比如对函数、类、方法进行测试。单元测试可以使用任意一段已经写好的测试代码,也可以使用一些已经存在的测试框架,比如JUnit、PHPUnit或者Cantata++,单元测试框架提供了一系列共同、有用的功能来帮助人们编写自动化的检测单元,例如检查一个实际的值是否符合我们期望的值的断言。单元测试框架经常会包含每个测试的报告,以及给出你已经覆盖到的代码覆盖率。
而我使用则是PHPUnit,PHPUnit是一个用PHP编程语言开发的开源软件,是一个单元测试框架。下面则是我配置phpunit的步骤
第一步:首先我们需要下载phpunit.phar文件,而下载phpunit有几种方法,这个可以自己在百度上找到,最简单的方法则是去官网去下载,因为官网有最新的版本(而我发现了一个更简单的方法,如下)
在Preferences->Languages & Frameworks->PHP->Test Frameworks中右侧有一个Download phpunit,这里同样可以下载phpunit.phar
下载phpunit.phar后将文件移动至/Applications/MAMP/bin/php/php5.6.32/bin/,因为这个是我本地mamp php的位置,你们根据自己php的位置存放phpunit.phar
注意:下载phpunit.phar需要对应自己PHP版本,如果您想使用示例代码 (PHP 5.6版本) ,您需要下载 http://phar.phpunit.cn/phpunit-5.6.phar 而不是 http://phar.phpunit.cn/phpunit.phar
第二步:下面我们使用命令更改phpunit.phar的运行权限,首先找到我们之前下载的phpunit.phar
chmod +x 命令自行百度搜索
第三步:使用mv命令将phpunit-5.6.1.phar文件改名为phpunit:sudo mv phpunit-5.6.1.phar phpunit
因为开始下载phpunit.phar文件的名字带有版本号,为了方便,我们这里改变文件名
第四步:到了这里我们基本工作基本完成,这里我们开始配置phpstorm
第五步:这里我们配置phpunit
至此我们在phpstorm中也完成了phpunit的配置,我们这里就来测试一下是否配置成功;
在Terminal中输入phpunit
在我们的项目中加入一段测试代码
测试类继承于 PHPUnit\Framework\TestCase
<?php
use PHPUnit\Framework\TestCase;
class StackTest extends TestCase
{
public function testPushAndPop()
{
$stack = [];
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack)-1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
}
?>
点击右键,我们会发现Run 文件名
右键run即可
如果大家有疑问可以查看phpunit官网或者中文网址
phpunit中文网:http://www.phpunit.cn/
phpunit手册:https://phpunit.de/manual/6.5/zh_cn/installation.html