有没有办法使用PHPUnit只使用PHP测试API请求和响应?
发布时间:2020-05-25 09:10:43 所属栏目:PHP 来源:互联网
导读:响应是 JSON,我使用的是定制的MVC框架,我不确定如何生成请求和响应过程.使用以下语法创建服务方法. public function getSessionsMethod(){ // data auto encoded as JSON return array(hello, world);} 来自JavaScript的请求看起来像/ svc / api / getSe
|
响应是 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中提取参数并调度到适当的服务方法. 您应该首先单独测试这些.一旦您确认调度程序和编码器适用于常规URL和返回值,那么浪费周期测试它们与每种服务方法一起使用都没有意义. 相反,请集中精力测试每种服务方法,而不涉及其他组件.您的测试用例应该实例化并直接使用各种输入调用服务方法,并对其返回值进行断言.这不仅会减少您的工作量,而且还可以更轻松地跟踪问题,因为每次故障都只限于一个组件. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
