响应是JSON,我使用的是定制的MVC框架,我不确定如何生成请求和响应过程.使用以下语法创建服务方法.
public function getSessionsMethod()
{
// data auto encoded as JSON
return array('hello', 'world');
}
Run Code Online (Sandbox Code Playgroud)
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);
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*ess 11
这对我来说看起来不像单元测试,而是集成测试.您可以使用PHPUnit来执行此操作,但您应该首先了解其中的差异.
获取给定服务方法的响应涉及许多组件:
您应该首先单独测试这些.一旦您确认调度程序和编码器适用于常规URL和返回值,那么浪费周期测试它们与每种服务方法一起使用都没有意义.
相反,请集中精力测试每种服务方法,而不涉及其他组件.您的测试用例应该实例化并直接使用各种输入调用服务方法,并对其返回值进行断言.这不仅会减少您的工作量,而且还可以更轻松地跟踪问题,因为每次故障都只限于一个组件.
| 归档时间: |
|
| 查看次数: |
4385 次 |
| 最近记录: |