资讯专栏INFORMATION COLUMN

phpunit + guzzle 真实单元测试线上接口

qqlcbb / 2999人阅读

摘要:引子之前想利用单元测试框架测试接口但找了半天都是模拟请求方式测试的框架所以想到了利用来实现正题地址地址安装出现的问题需要环境才行解压时需要用安装以下时测试代码只是试试功能测试然后在当前目录运行说明安装必须和测试代码在同目录中测试结果

引子

之前想利用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 GuzzleHttpClient();

           $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$ 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21431.html

相关文章

  • Laravel学习笔记之Core Concepts in Guzzle Package——Strea

    摘要:使用了来表示该,该接口也是对的抽象,暴露了一些常用方法判断是否满足要求的方法的读写相关操作获取元数据方法操作指针相关方法等等。本篇主要学习下相关使用。后续还会分享相关使用,到时见。 说明:本文主要学习guzzlehttp/guzzle package的使用,该package提供了一套发送HTTP请求API,就像phpunit package, mockery package, symf...

    singerye 评论0 收藏0
  • 这就是现代php该有的样子(二)

    摘要:所以,是帮助您创建您的项目的测试框架,单元测试。行为驱动开发是一个来自测试驱动开发的开发过程。这种语言被称为,是用来描述被测试的预期的行为。代码将被测试并且没有异常。这些标准提出了现代编码风格。 本文来自medium----原文链接; 欢迎作客我们的php&Laravel学习群:109256050 你需要开始使用测试 这是我每天对自己说的话。像很多人一样,我不会像TDD所建议的那样测试...

    fevin 评论0 收藏0
  • PHP新手开发者的路线建议

    摘要:年开发者应该熟练使用,并且知道版本更新内容。对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。是标准规范,是开发的实践标准。对开发者来说语言推荐和,全栈的选择非常多,推荐热门的 前言 在前天(2018-08-02)已经发布了PHP 7.3.0.beta1 Released 如果你还没有使用 PHP7 ,那真的很遗憾。2018年PHP开发者应该熟练使用 PHP7...

    klinson 评论0 收藏0
  • 使用composer创建PHP组件

    摘要:编写什么类以及编写多少类完全取决于组件的作用。组件创建完成我们可以在上创建一个钩子,每次更新组件的仓库时通知在仓库中设置钩子的方法参阅使用这个组件一切都完工了现在任何人都能使用安装这个组件了。 前言 当今php生态环境,composer已经成为必不可少的组件,相信大多数人已经使用过别人的composer包, 那么如何创建一个PHP组件,发布到packigist从而把你的创意贡献给开源社...

    WelliJhon 评论0 收藏0
  • 看吧,这就是现代化 PHP 该有的样子

    摘要:这大概是我没有及早使用,或多数开发者流连现状造成的。它就是,一个的框架。行为驱动开发是来自测试驱动开发的开发过程。简单的说,它就是经常可能一天几次将小块代码整合进基础代码当中的行为。 showImg(https://segmentfault.com/img/remote/1460000013769815); 这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍 。 文章...

    Tangpj 评论0 收藏0

发表评论

0条评论

qqlcbb

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<