【问题标题】:Phpunit can't find abstract classPhpunit 找不到抽象类
【发布时间】:2015-07-14 07:16:27
【问题描述】:

由于某种原因,当我尝试测试抽象类时,我得到了PHPUnit_Framework_MockObject_RuntimeException: Class "AbstractClass" does not exist.

这是代码

AbstractClass.php

<?php 
namespace SD\Project;

abstract class AbstractClass 
{
  public function handle()
  {

  }
}

AbstractClassTest.php

<?php 

require_once 'AbstractClass.php';

use SD\Project\AbstractClass;

class AbstractClassTest extends PHPUnit_Framework_TestCase
{
 public function testHandle()
 {
   $stub = $this->getMockForAbstractClass('AbstractClass');
 }
}

当我摆脱命名空间并使用语句时,代码会成功执行。我做错了什么?

【问题讨论】:

    标签: php unit-testing phpunit


    【解决方案1】:

    您没有使用类的完全限定路径。

    $stub = $this->getMockForAbstractClass('\SD\Project\AbstractClass');
    

    阅读类似:PHPUnit, Interfaces and Namespaces (Symfony2)

    示例:http://theaveragedev.com/testing-abstract-classes-with-phpunit/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-22
      • 2017-06-29
      • 1970-01-01
      • 2012-04-28
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      相关资源
      最近更新 更多