沃梦达 / 编程问答 / php问题 / 正文

PHP致命错误:找不到类-PHPUnit

PHP Fatal error: Class not found - PHPUnit(PHP致命错误:找不到类-PHPUnit)

本文介绍了PHP致命错误:找不到类-PHPUnit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  • 控制器

    • Pages.php
  • 测试

    • pagesTest.php
  • 供应商

    • bin
      • phpinit.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 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选项一起使用。

这篇关于PHP致命错误:找不到类-PHPUnit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PHP致命错误:找不到类-PHPUnit

基础教程推荐