关于CakePHP中的单元测试,它似乎是两种主要测试操作的方法。
第一个是使用generate()
方法模拟所涉及的控制器:
$Posts = $this->generate('Posts', array(
'methods' => array(
'isAuthorized'
),
'models' => array(
'Post' => array('save')
),
'components' => array(
'RequestHandler' => array('isPut'),
'Email' => array('send'),
'Session'
)
));
但in CakePHP 2 a new ControllerTestCase
class has been added显然可以简化此配置:
class PostControllerTest extends ControllerTestCase {
public $fixtures = array('app.post');
function testIndex() {
$result = $this->testAction('/post/index');
debug($result);
}
...
}
通过ControllerTestCase类使用组件时,我发现了几个问题。我想知道这两种方法之间有什么区别。
谢谢!
答案 0 :(得分:1)
不,这实际上是一样的,generate
方法用于在使用testAction
之前配置控制器,这样你就可以控制应该模拟哪些组件,模型或控制器方法在测试动作之前。方法generate
在ControllerTestCase
类