Alv*_*aro 0 testing unit-testing cakephp mocking cakephp-2.0
我很难测试我的一种方法,因为它使用了没有模型的供应商类。
好吧,问题是我希望该方法返回我想要的东西。有人告诉我,模拟方法是使它返回我想要的东西。
例如,当我调用“ foo()”方法时,我希望它始终使我返回true。
我该怎么做?在CakePHP食谱中,我可以找到以下内容:
$Posts = $this->generate('Posts', array(
'methods' => array(
'isAuthorized'
),
'models' => array(
'Post' => array('save')
),
'components' => array(
'RequestHandler' => array('isPut'),
'Email' => array('send'),
'Session'
)
));
Run Code Online (Sandbox Code Playgroud)
所以我想我应该使用拳头选项:方法但是...如何使其返回我想要的?
谢谢。
请参阅我在以下问题中给您的答案:如何在CakePHP2.0上测试Add函数
$Posts = $this->generate('Posts', array(
'methods' => array(
'isAuthorized'
),
'models' => array(
'Post' => array('save')
),
'components' => array(
'RequestHandler' => array('isPut'),
'Email' => array('send'),
'Session'
)
));
// tell PHPUnit that `isAuthorized` should return true any time it's called
$Posts
->expects($this->any())
->method('isAuthorized')
->will($this->returnValue(true));
// tell PHPUnit to expect `isPut` once, and to return false
$Posts
->RequestHandler
->expects($this->once())
->method('isPut')
->will($this->returnValue(false));
Run Code Online (Sandbox Code Playgroud)
有关模拟的更多信息,请访问:http : //www.phpunit.de/manual/3.0/en/mock-objects.html
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |