| <?php | 
| /** | 
|  * PhalApi_Helper_TestRunner - 快速接口执行 - 辅助类 | 
|  *  | 
|  * - 使用示例: | 
| ``` | 
|  * public function testWhatever() { | 
|  *        //Step 1. 构建请求URL | 
|  *        $url = 'service=Default.Index&username=dogstar'; | 
|  *         | 
|  *        //Step 2. 执行请求     | 
|  *        $rs = PhalApi_Helper_TestRunner::go($url); | 
|  *         | 
|  *        //Step 3. 验证 | 
|  *        $this->assertNotEmpty($rs); | 
|  *        $this->assertArrayHasKey('code', $rs); | 
|  *        $this->assertArrayHasKey('msg', $rs); | 
|  * } | 
| ``` | 
|  *      | 
|  * @package     PhalApi\Helper | 
|  * @license     http://www.phalapi.net/license GPL 协议 | 
|  * @link        http://www.phalapi.net/ | 
|  * @author      dogstar <chanzonghuang@gmail.com> 2015-05-30 | 
|  */ | 
|   | 
| class PhalApi_Helper_TestRunner { | 
|   | 
|     /** | 
|      * @param string $url 请求的链接 | 
|      * @param array $param 额外POST的数据 | 
|      * @return array 接口的返回结果 | 
|      */ | 
|     public static function go($url, $params = array()) { | 
|         parse_str($url, $urlParams); | 
|         $params = array_merge($urlParams, $params); | 
|   | 
|         if (!isset($params['service'])) { | 
|             throw new PhalApi_Exception(T('miss service in url')); | 
|         } | 
|         DI()->request = new PhalApi_Request($params); | 
|   | 
|         $apiObj = PhalApi_ApiFactory::generateService(true); | 
|         $action = DI()->request->getServiceAction(); | 
|   | 
|         $rs = $apiObj->$action(); | 
|   | 
|         return $rs; | 
|     } | 
| } |