php单测
更多内容可以查看这个教程,我这里就是简单的说一下。
一、phpunit
网上这个教程里面提到要安装phpunit,不过一般LNMP里面都会自带phpunit,一般和php
、phpize
等在同一个文件夹下面。
二、编写单元测试
用网上这个教程里的代码来举例子,如何编写一个单元测试
<?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));
}
}
?>
注意:
- 要继承
TestCase
- 函数命名要用
test
为前缀 - 不同框架下面的测试方法可能不一样
关于测试的依赖关系,可以用@depends
来标注
实际应用中,我还没用到@depends
,因为有一些涉及数据库的操作,不太方便回滚。一般我都直接构造$_GET
或者$_POST
从controller
来测试。