【发布时间】:2022-01-02 07:37:21
【问题描述】:
我正在尝试在 PHP 项目中使用 PHPUnit。 这是我的项目结构(文件为斜体)
-
控制器
- Pages.php
-
测试
- pagesTest.php
-
供应商
- 斌
- phpunit.bat
- 斌
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 \controllers\Pages();
$expected = 'Hello Word';
$this->assertEquals($expected, $pages->render());
}
}
当我打开命令行时,我会写:
C:\xampp\htdocs\PHPUnitTestProject\vendor\bin>phpunit ../../tests/PagesTest.php
我收到此错误消息:PHP Fatal error: Class 'controllers\Pages' not found in C:\xampp\htdocs\PHPUnitTestProject\tests\pagesTest.php on line 7
这是一个路径问题。我认为这是因为它搜索不存在的C:\xampp\htdocs\PHPUnitTestProject\vendor\bin\controllers\Pages()。
应该是C:\xampp\htdocs\PHPUnitTestProject\controllers\Pages()
【问题讨论】:
-
这是题外话,但请务必使用符合 PSR-4 standard 的文件名。
PageTest.php而不是pageTest.php。