PHP致命错误:找不到类-PHPUnit
我正在尝试在PHP项目中使用PHPUnit。 这是我的项目结构(文件为斜体)
控制器
- Pages.php
测试
- pagesTest.php
供应商
- bin
- phpinit.bat
- bin
Composer.json
我的文件:
Composer.json
{
"require-dev": {
"phpunit/phpunit":"5.5.4"
}
}
Pages.php
<?php
namespace controllers
class Pages
{
public function render()
{
return 'Hello World';
}
}
pagesTest.php
<?php
class PagesTest extends PHPUnit_Framework_TestCase
{
public function testRenderReturnsHelloWorld()
{
$pages = new controllersPages();
$expected = 'Hello Word';
$this->assertEquals($expected, $pages->render());
}
}
当我打开命令行时,我写道:
C:xampphtdocsPHPUnitTestProjectvendorin>phpunit ../../tests/PagesTest.php
我收到此错误消息:PHP Fatal error: Class 'controllersPages' not found in C:xampphtdocsPHPUnitTestProject estspagesTest.php on line 7
这是一个路径问题。我想是因为它搜索了不存在的C:xampphtdocsPHPUnitTestProjectvendorincontrollersPages()
。
它应该是C:xampphtdocsPHPUnitTestProjectcontrollersPages()
解决方案
您需要指向测试的类,因此在pagesTest.php中添加一个Required:
require __DIR__ . "/../controllers/Pages.php";
或如果您使用的是自动加载,则可以在命令行中bootstrap the autoload
phpunit --bootstrap src/autoload.php
或您可以设置如下示例的phpuit.xml配置文件(从上面链接的PHPUnit页面):
<phpunit bootstrap="src/autoload.php">
<testsuites>
<testsuite name="money">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
然后与--configuration选项一起使用。
相关文章