UnitTest in cakePHP
PHP, Web January 14th, 2007
1. 从 cakeforg.org 下载最新的 Test Suite.
2. 把文件解压到相应的目录.
然后可以正式开始编写测试用例了.
首先数据库建一个 g20_template 的表,
1 2 3 4 5 6 7 | CREATE TABLE "g20_template" ( "id" integer NOT NULL PRIMARY KEY AUTO_INCREMENT, "name" varchar(100) NOT NULL, "cols" varchar(100) NOT NULL, "create_date" datetime NOT NULL, "update_date" datetime NOT NULL ); |
然后是写一个简单的 model.
1 2 3 4 5 6 | <?php class Template extends AppModel { var $name = 'Template'; var $useTable = 'g20_template'; // I use g20_template table } ?> |
最后在 app/tests/app/cases/models 下编写一个 template.test.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php require_once LIBS . 'model/model.php'; require_once CAKE . 'app_model.php'; require_once MODELS . 'template.php'; class TemplateTestCase extends UnitTestCase { var $template = null; var $validName = '2 cols'; var $validCols = '[\'50%\', \'50%\']'; var $validCreateDate = '2007-01-14 16:56:00'; var $validUpdateDate = '2007-01-14 16:56:00'; function setUp() { $this->template =& new Template(); } function testSave() { $this->template->data = array('Template' => array('name' => $this->validName, 'cols' => $this->validCols, 'create_date' => $this->validCreateDate, 'update_date' => $this->validUpdateDate ) ); $this->assertTrue($this->template->save()); $id = $this->template->getLastInsertId(); $this->template->id = $id; $this->assertEqual($this->template->field('name'), $this->validName); $this->assertEqual($this->template->field('cols'), $this->validCols); $this->assertEqual($this->template->field('create_date'), $this->validCreateDate); $this->assertEqual($this->template->field('update_date'), $this->validUpdateDate); } ?> |
No related posts.