Phpunit无法找到抽象类

时间:2015-05-04 19:04:21

标签: php unit-testing phpunit

出于某种原因,当我尝试测试抽象类时,我得到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');
 }
}

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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