PHP致命错误:类“CTestCase”未找到。

4

我试图在本地计算机上运行一个简单的测试,但是出现了以下错误:

PHP Fatal error:  Class 'CTestCase' not found in ....

运行时

$ phpunit UserTest

我猜我的配置肯定缺少了什么?我就是想不出来是什么。
使用:
操作系统:OSX 10.6.7
PHP版本:5.3.4
PHPUnit版本:3.5.13
Yii版本:1.1.7

3
请贴出您的测试用例代码,这样我们才有希望帮助您。如Asaph所说,请确保您的包含路径已正确设置,可以通过命令行或 bootstrap.php 文件进行设置。 - David Harkness
是的,谢谢!我需要将PHPUnit指向包含在测试目录中的phpunit.xml文件,以映射所有Yii类。xml文件指向bootstrap.php,所以一切都很好! - keeg
3个回答

13

确保你在与phpunit.xml相同的目录下运行phpunit. :)


0
错误信息告诉你找不到类CTestCase。PHPUnit在命令行上接受一个--include-path选项。你可以尝试像这样做:
$ phpunit --include-path .:/path/to/dir/containing/CTestCase UserTest

谢谢,虽然这可能有效,但这不是首选解决方案,因为我需要为每个测试用例重复这些步骤。我已经在远程服务器上设置了这个并且正常工作,而不需要使用include-path。我一定漏掉了其他东西... - keeg
1
@keeg:正如@David Harkness在评论中提到的那样,include_path也可以在引导文件中设置。如果您没有在问题中发布代码,我们很难为您诊断问题。根据我在OSX上使用PHP的经验,另一个猜测是大小写敏感性问题吗?OSX文件名不区分大小写,这在包含/需要文件时是宽容的。然后,当您转移到区分大小写的平台时,您的代码可能会出现问题。 - Asaph

0

我找到了适合我的解决方案。但我不确定这是否适用于你们所有人。

以下是解决方案的网址。

http://www.yiiframework.com/forum/index.php/topic/4728-running-unit-tests-on-windows-problem/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接