【问题标题】:PHPUnit: Class not foundPHPUnit:找不到类
【发布时间】:2017-12-08 23:44:29
【问题描述】:

我在 Compte 类中使用 PHPUnit 5.7.23,我在方法中开发此代码

   /**
     * @covers Compte::method()
     * @dataProvider entityToJsonData
     */
    public function testMethod($data, $expected)
    {
        $this->object = $this->getMockBuilder('Compte')
            ->getMock();

        $actualReponse = $this->object->method($data);
        $this->assertEquals($expected, $actualReponse);

    }

PHP 显示此错误信息:

致命错误:在 CompteTest.php 中找不到类“Compte”

你能帮帮我吗?

【问题讨论】:

  • 您还需要提供命名空间,例如:Namespace\Namespace2\Compte
  • 您是否在 PHPUnit 引导代码中注册了自动加载器?
  • 使用@ka_lin 描述的命名空间

标签: php testing phpunit


【解决方案1】:

你必须使用命名空间:

$this->object = $this->getMockBuilder('<Vendor>\<Component>\Compte')
        ->getMock();

或者,您也可以使用已经可见的类(类声明上方的“use”语句),如下所示:

<?php
use <Vendor>\<Component>\Compte;

class MyClassTest extends TestCase 
{
...
    public function testMethod($data, $expected)
    {
        $this->object = $this->getMockBuilder(Compte::class)
            ->getMock();
        ...
    }
...
}

Compte::class 返回包含其命名空间的类名。

【讨论】:

  • 我像你的代码一样开发,但是,它显示了错误消息
猜你喜欢
  • 2019-07-22
  • 2017-06-29
  • 2012-04-28
  • 2017-02-24
  • 2017-11-23
  • 2015-07-14
  • 2013-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多