gpt4 book ai didi

PHP fatal error : Class not found - PHPUnit

转载 作者:可可西里 更新时间:2023-11-01 12:28:16 26 4
gpt4 key购买 nike

我正在尝试使用 PHPUnit在一个 PHP 项目中。这是我的项目结构(文件为斜体字体样式)

  • 控制者

    • 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()

最佳答案

需要指向被测类,所以在pagesTest.php中添加require:

require __DIR__ . "/../controllers/Pages.php";

或者如果您正在使用自动加载,那么您可以bootstrap the autoload在你的命令行中

phpunit --bootstrap src/autoload.php

或者您可以像这个示例一样设置一个 phpunit.xml 配置文件(来 self 上面链接的 PHPUnit 页面):

<phpunit bootstrap="src/autoload.php">
<testsuites>
<testsuite name="money">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>

然后将其与 --configuration 选项一起使用。

关于PHP fatal error : Class not found - PHPUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com