首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHPUnit 的使用

PHPUnit 的使用

作者头像
崔哥
发布2023-01-14 10:23:16
发布2023-01-14 10:23:16
6370
举报
文章被收录于专栏:崔哥的专栏崔哥的专栏

安装

PHP Archive (PHAR)

代码语言:javascript
复制
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

代码语言:javascript
复制
composer require --dev phpunit/phpunit ^9
root@php-fpm:/var/www/laravel-demo# ./vendor/bin/phpunit --version
PHPUnit 9.5.24 #StandWithUkraine

配置文件

如果 phpunit.xmlphpunit.xml.dist(按此顺序)存在于当前工作目录并且未使用 --configuration,将自动从此文件中读取配置。

执行测试

执行全部测试

代码语言:javascript
复制
phpunit

执行某个测试

代码语言:javascript
复制
    /**
     * @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测试

代码语言:javascript
复制
$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特有的

参考

https://phpunit.de/getting-started/phpunit-9.html

https://phpunit.readthedocs.io/zh_CN/latest/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 配置文件
  • 执行测试
    • api 测试
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档