phpunit + guzzle 真实单元测试线上接口
程序员文章站
2022-05-12 15:52:54
...
引子
之前想利用js单元测试框架测试接口, 但找了半天都是模拟ajax请求方式测试的.(jest框架).所以想到了利用php来实现.
正题
phpunit 地址:https://phpunit.de/manual/current/zh_cn/installation.html#installation.optional-packages
guzzle 地址:https://github.com/guzzle/guzzle
安装出现的问题:
1.phpunit需要php5.6环境才行.
2.guzzle 解压时需要 zlib. 用brew安装.
以下时测试代码:
a.php
require 'vendor/autoload.php';
class LoginTest extends PHPUnit_Framework_TestCase {
//只是试试phpunit功能
public function testNormal() {
$expected = 1;
$actual = 1;
$this->assertEquals($expected,$actual);
}
//测试api
public function testSend(){
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://developer.github.com/v3/', [
]);
echo $res->getStatusCode();
// 200
echo $res->getHeaderLine('content-type');
// 'application/json; charset=utf8'
echo $res->getBody();
$this->assertEquals(200, $res->getStatusCode());
}
}
?>
然后在当前目录 运行
$ phpunit a.php
说明: guzzle安装必须和测试代码在同目录中
测试结果
Time: 7.14 seconds, Memory: 11.75Mb
OK (2 tests, 2 assertions)
antztekiMacBook-Pro:php_test antz$
以上就介绍了phpunit + guzzle 真实单元测试线上接口,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。