PHPUnit 的使用
编辑于 2023-01-14 01:05:25 阅读 1209
安装
PHP Archive (PHAR)
wget -O phpunit https://phar.phpunit.de/phpunit-9.phar
chmod +x phpunit
root@php-fpm:/var/www/html# ./phpunit --version
PHPUnit 9.5.27 by Sebastian Bergmann and contributors.
或者,Composer
composer require --dev phpunit/phpunit ^9
root@php-fpm:/var/www/laravel-demo# ./vendor/bin/phpunit --version
PHPUnit 9.5.24 #StandWithUkraine
配置文件
如果 phpunit.xml
或 phpunit.xml.dist
(按此顺序)存在于当前工作目录并且未使用 --configuration
,将自动从此文件中读取配置。
执行测试
执行全部测试
phpunit
执行某个测试
/**
* @group home
*/
public function testHome()
{
dump(123);
$this->assertTrue(true);
}
//直接用方法名
root@php-fpm:/var/www/laravel-demo# phpunit --filter testHome
//指定组名
root@php-fpm:/var/www/laravel-demo# phpunit --group home
--filter 'TestNamespace\\TestCaseClass::testMethod'
--filter 'TestNamespace\\TestCaseClass'
--filter TestNamespace
--filter TestCaseClase
--filter testMethod
api 测试
如果只是断言两个变量,就太没意思了,下面看下api测试
$response = $this->get('/api/user/1/config');
$response->dump();
$response->assertStatus(200);
$keys = [
'aa' => 'integer',
'bb' => 'string',
'cc' => 'string',
'dd' => 'string',
'ee' => 'string',
];
$data = optional(json_decode($response->getContent()))->data;
$this->seeObjectContainsJson($keys, $data->j[0]);
注意,上面的get
用法是laravel特有的