使用 yii 在 phpunit 中找不到类“CDbTestCase”错误
Posted
技术标签:
【中文标题】使用 yii 在 phpunit 中找不到类“CDbTestCase”错误【英文标题】:Class 'CDbTestCase' not found error in phpunit with yii 【发布时间】:2016-04-16 17:47:51 【问题描述】:我正在尝试使用 yii 实现单元测试。我去 protected\tests\unit 文件夹并运行 phpunit\AccountTest
我得到错误 Class 'CDbTestCase' not found in ......tests\unit\AccountTest.php
我是单元测试的新手,我不确定我是否正确设置它。谁能告诉我我做错了什么?
【问题讨论】:
【参考方案1】:如果您的 bootstrap.php 脚本中的路径不正确,就会发生这种情况。
您的 protected/tests/bootstrap.php 文件应如下所示:
<?php
// change the following paths if necessary
$yiit=dirname(__FILE__).'/../../../framework/yiit.php';
$config=dirname(__FILE__).'/../config/test.php';
require_once($yiit);
require_once(dirname(__FILE__).'/WebTestCase.php');
Yii::createWebApplication($config);
注意第 4-5 行。路径将根据您安装 Yii 和应用程序的方式而有所不同。查看文件的位置,并确保这些路径指向正确的位置。
我还建议从 protected/tests 内部运行 PHPUnit,而不是 protected/tests/unit。例如:
cd protected\tests
phpunit unit\AccountTest.php
如果从unit
文件夹内运行,PHPUnit 有时无法正确引导。
【讨论】:
非常感谢。现在我明白了。 “PHP 警告:require_once(PHPUnit/Extensions/SeleniumTestCase.php):无法打开流:没有这样的文件或目录...”我知道我必须单独安装 Selenium。但不知道如何做到这一点。我正在使用窗户。有人说不支持梨安装等等等等。 可能是您需要在 PATH 环境变量中添加一些内容,或者可能是 phpunit.bat 中的文件路径不正确。 Yii 论坛的这个帖子看起来可能会有所帮助:yiiframework.com/forum/index.php/topic/…以上是关于使用 yii 在 phpunit 中找不到类“CDbTestCase”错误的主要内容,如果未能解决你的问题,请参考以下文章
为啥,致命错误:在...中找不到类“PHPUnit_Framework_TestCase”?
PHPUnit 3.7 在 Laravel 4.1 中找不到控制器类
在链配置的命名空间 App\Entity [Symfony 5.3][PHPUnit 8.5] 中找不到类 Mock_*
升级到 5.4 后在 Laravel BrowserKit 包中找不到 PHPUnit\Framework\Constraint\Constraint