Что касается модульного тестирования в CakePHP, кажется, что есть два основных способа тестирования действий.
Первый - это издевательство над задействованным контроллером с использованием метода generate()
:
$Posts = $this->generate('Posts', array(
'methods' => array(
'isAuthorized'
),
'models' => array(
'Post' => array('save')
),
'components' => array(
'RequestHandler' => array('isPut'),
'Email' => array('send'),
'Session'
)
));
Но в CakePHP 2 был добавлен новый ControllerTestCase
класс , чтобы явно облегчить эту конфигурацию:
class PostControllerTest extends ControllerTestCase {
public $fixtures = array('app.post');
function testIndex() {
$result = $this->testAction('/post/index');
debug($result);
}
...
}
Я обнаружил несколько проблем при использовании компонентов черезКласс ControllerTestCase.Я хотел бы знать, в чем разница, если таковая имеется, между этими двумя подходами.
Спасибо!