PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了有没有办法使用PHPUnit只使用PHP测试API请求和响应?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
响应是 JSON,我使用的是定制的MVC框架,我不确定如何生成请求和响应过程.使用以下语法创建服务方法.
public function getSessionsMethod()
{
    // data auto encoded as JSON
    return array('Hello','world');
}

来自JavaScript的请求看起来像/ svc / api / getSessions.
我最初的想法是简单地使用流方法是否有这种形式的测试的最佳实践?

public function TESTCanGetSessionsForAGivenId()
{
    $params = http_build_query(
        array(
            'id' => 3,)
    );
    $options = array(
        'http' => array(
            'method'  => 'GET','content' => $params,)
        );
    $context  = stream_context_create($options);
    $response = file_get_contents(
        'http://vbates/svc/api/getSessions',false,$context
    );
    $json     = json_decode($responsE);
    $this->assertEquals(3,$json->responsE);
}
这看起来不像 unit testing而是 integration testing.你可以使用PHPUnit来做,但你应该首先理解它的区别.

获取给定服务方法的响应涉及许多组件:

>调度程序:从URL中提取参数并调度到适当的服务方法.
>服务方法在这里测试真正的工作.
> JSON编码器:将服务方法的返回值转换为JSON响应.

您应该首先单独测试这些.一旦您确认调度程序和编码器适用于常规URL和返回值,那么浪费周期测试它们与每种服务方法一起使用都没有意义.

相反,请集中精力测试每种服务方法,而不涉及其他组件.您的测试用例应该实例化并直接使用各种输入调用服务方法,并对其返回值进行断言.这不仅会减少您的工作量,而且还可以更轻松地跟踪问题,因为每次故障都只限于一个组件.

大佬总结

以上是大佬教程为你收集整理的有没有办法使用PHPUnit只使用PHP测试API请求和响应?全部内容,希望文章能够帮你解决有没有办法使用PHPUnit只使用PHP测试API请求和响应?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。