我使用最简单的测试方法获取phpunit并将其安装为this link。
我只需下载phpunit.phar文件,chmod&重命名&移动到/ 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()
答案 0 :(得分:1)
尝试将您的/api/
文件夹添加到ClassLoader
的{{1}}。
你会发现这个部分:
app\start\global.php
答案 1 :(得分:1)
您使用的是Laravel的phpunit.xml文件吗?它包括Laravel(和Composer)的autoload.php
文件,它允许您使用其中的所有自动加载的类。
最后,整个错误是什么?它应该(希望)告诉你它正在尝试加载什么类(如果名称空间错误或其他什么,它将为你提供线索)。
答案 2 :(得分:1)
您未加载FlyApi
类的定义。
此解决方案特定于Laravel:
您应该延长TestCase
而不是PHPUnit_Framework_TestCase
。