我得到 phpunit 并使用最简单的方法将其安装为这个链接以进行测试。
我只是下载 phpunit.phar 文件,chmod & rename & move to /usr/local/bin 然后,我运行 phpunit --version,没问题。
PHPUnit 3.7.27 by Sebastian Bergmann我写了一个简单的测试
public function testSomething(){ $this -> assertTrue(true) }然后我进入源文件夹,
phpunit --colors Test有用。所以,我决定写一个复杂的演示。
我的项目文件夹结构是这样的。
Project Name --> app --> api --> tests现在我写了一个简单的类
app/api/FlyApi.php<?php class FlyApi { public function makeFly(){ //do something else } }然后我为 FlyApi.php 编写另一个测试类
<?php class FlyApiTest extends PHPUnit_Framework_TestCase { public function testFly(){ //new a FlyApi $flyApi = new FlyApi(); //do something } }在这一行
$flyApi = new FlyApi()我得到了错误。PHP 致命错误:在第 23 行的 /home/kevin/Workspace/fly/app/api/FlyApi.php 中找不到类“FlyApi”
是的,这条线
$flyApi = new FlyApi()
3681 次
3 回答
1
你在使用 Laravel 的phpunit.xml文件吗?它包括 Laravel(和 Composer)的autoload.php文件,让您可以在其中使用所有自动加载的类。
最后,整个错误是什么?它应该(希望)告诉您它正在尝试加载的类(如果命名空间错误或其他原因,它将为您提供线索)。
于 2013-09-22T16:52:18.343 回答
1
您没有加载FlyApi类的定义。
这个解决方案是 Laravel 特有的:
您应该扩展TestCase而不是PHPUnit_Framework_TestCase.
于 2013-09-23T14:59:46.680 回答
1
尝试将您的/api/文件夹添加到您的ClassLoaderat 中app\start\global.php。
你会发现这个部分:
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
...
app_path().'/api/
));
于 2013-09-22T12:54:36.637 回答