Тестирование компонентов CakePHP Проникшись идеей Test-Driven Development, я решил наконец делать тесты для новых проектов. Предлагаю написать компонент Browser, на котором посмотрим как тестируются компоненты. Для большинства проектов не нужно фанатично тестировать всё, что теоретически может случиться. Обычно достаточно проверить базовую функциональность. Например, наш браузер должен: 1. загружаться в контроллер без ошибок 2. скачивать http://www.google.com Для того, чтобы протестировать пункт 1, надо создать пустой контроллер и попробовать загрузить в него наш компонент. app\tests\cases\components\browser.test.php <?php // заменить < на < class BrowserTestController extends Controller { var $name = 'BrowserTest'; var $uses = null; var $components = array('Browser'); } class BrowserTest extends CakeTestCase { var $name = 'Browser'; var $controller = null; var $Browser = null; function setUp() { $this->controller =& new BrowserTestController(); restore_error_handler(); @$this->controller->_initComponents(); set_error_handler('simpleTestErrorHandler'); $this->Browser = $this->controller->Browser; $this->Browser->startup($this->controller); ClassRegistry::addObject('view', new View($this->controller)); } function testDownload() { $result = $this->Browser->get('http://www.google.com'); $this->assertPattern('//i', $result); $this->assertPattern('/HTTP\/1.1 200 OK/', $this->Browser->header); } function testUserAgent() { $this->assertPattern('/^.* \(/', $this->Browser->userAgent); } } ?> http://www.seoded.ru/webmaster/sozdanie-saita/komponent-browser-dlya-cakephp.txt