Rya*_*her 5 php unit-testing cakephp cakephp-1.2
在CakePHP中,在URL中放置查询字符串不会导致它被自动解析和拆分,就像通常在直接调用控制器时一样.
例如:
$this->testAction('/testing/post?company=utCompany', array('return' => 'vars')) ;
Run Code Online (Sandbox Code Playgroud)
将导致:
[url] => /testing/post?company=utCompany
Run Code Online (Sandbox Code Playgroud)
通过Web浏览器直接调用url会导致:
[url] => Array
(
[url] => testing/post
[company] => utCompany
)
Run Code Online (Sandbox Code Playgroud)
在不编辑CakePHP源的情况下,有没有办法在运行单元测试时拆分查询字符串?
我有一个 hack(即可能不适用于未来的 CakePHP 版本)或一个未记录的功能。
如果第二个 testAction 参数包含名为“url”的命名数组,则这些值将放置在控制器中的 $this->params 对象中。这为我们提供了与直接调用控制器时相同的最终结果。
$data = array ('company' => 'utCompany') ;
$result = $this->testAction('/testing/post', array
(
'return' => 'vars',
'method' => 'get',
'url' => $data)
) ;
Run Code Online (Sandbox Code Playgroud)
对于我需要做的事情,我对这种方法感到满意。我将很快向社区开放这个问题,以便将来可以提供更好的答案。
| 归档时间: |
|
| 查看次数: |
4554 次 |
| 最近记录: |