
here's my test.php file code inside the config folder
<?php return CMap::mergeArray( require(dirname(__FILE__).'/main.php'), array( 'components'=>array( 'fixture'=>array( 'class'=>'system.test.CDbFixtureManager', ), //* uncomment the following to provide test database connection 'db'=>array( 'connectionString'=>'mysql:host=localhost;dbname=yiitddtest', 'emulatePrepare' => true, 'username' => 'root', 'password' => 'password', 'charset' => 'utf8', 'tablePrefix' => 'tbl_' ), ), ) );
here's the ProjectTest.php
<?php class ProjectTest extends CDbTestCase { public $fixtures = array( 'projects' => 'Project', ); public function testCreate() { //create a new project $newProject = new Project; $newProjectName = 'Test Project Creation'; $newProject->setAttributes(array( 'name' => $newProjectName, 'description' => 'This is a test for new project creation', 'createTime' => '2010-11-19 00:00:00', 'createUser' => '1', 'updateTime' => '2010-11-19 00:00:00', 'updateUser' => '1', )); $this->assertTrue($newProject->save(false)); //read back the newly created project to ensure the creation worked $retrievedProject = Project::model()->findByPk($newProject->id); $this->assertTrue($retrievedProject instanceof Project); $this->assertEquals($newProjectName , $retrievedProject->name); } public function testRead() { $retrievedProject = $this->projects('project1'); $this->assertTrue($retrievedProject instanceof Project); $this->assertEquals('Test Project 1', $retrievedProject->name); } public function testUpdate() { $project = $this->projects('project2'); $updatedProjectName = 'Updated Test Project 2'; $project->name = $updatedProjectName; $this->assertTrue($project->save(false)); //read back the record again; $updatedProject = Project::model()->findByPk($project->id); $this->assertTrue($updatedProject instanceof Project); $this->assertEquals($updatedProjectName, $updatedProject->name); } public function testDelete() { $project = $this->projects('project2'); $savedProjectId = $project->id; $this->assertTrue($project->delete()); $deletedProject = Project::model()->findByPk($savedProjectId); $this->assertEquals(NULL, $deletedProject); } }
and here's the tbl_project.php from the fixtures folder
<?php return array( 'project1' => array( 'name' => 'Test Project 1', 'description' => 'This is test project1', 'create_time' => '', 'create_user_id' => '', 'update_time' => '', 'update_user_id' => '', ), 'projeect2' => array( 'name' => 'Test Project 2', 'description' => 'This is test project 2', 'create_time' => '', 'create_user_id' => '', 'update_time' => '', 'update_user_id' => '', ), 'project3' => array( 'name' => 'Test Project 3', 'description' => 'This is test project 3', 'create_time' => '', 'create_user_id' => '', 'update_time' => '', 'update_user_id' => '', ), );
did i missed something ?