我正在关注“使用 yii 1.1 和 php5 进行敏捷 Web 应用程序开发”一书,并且正在使用固定装置进行测试部分。我遵循了他们的代码,但我无法访问该装置......
在使用 PHPunit 配置固定装置后,我正在第 6 章运行单元测试,它返回给我这个
Last login: Sat Oct 6 20:09:36 on ttys000
xyz-MacBook-Pro:~ inganious$ /usr/local/bin/phpunit/phpunit /Applications/MAMP/htdocs/trackstar/protected/tests/unit/ProjectTest.php
Fatal error: Class 'CDbTestCase' not found in /Applications/MAMP/htdocs/trackstar/protected/tests/unit/ProjectTest.php on line 3
xyz-MacBook-Pro:~ inganious$
这是我的 ProjectTest.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' => '2009-09-09 00:00:00',
'createUser' => '1',
'updateTime' => '2009-09-09 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 to ensure the update worked
$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);
}
}
有人可以帮忙吗?
检查 pŕotected/tests 中的引导文件是否指向正确的路径,并检查同一文件夹中的 WebTastCase.php 文件是否指向正确的“TEST_BASE_URL”,如下所示:
define('TEST_BASE_URL','http://localhost/my_app/index-test.php/');
并尝试从 protected/tests 文件夹内运行 phpunit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)