Phpunit找不到抽象类

MZO*_*ZON 5 php phpunit unit-testing

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

这是代码

AbstractClass.php

<?php 
namespace SD\Project;

abstract class AbstractClass 
{
  public function handle()
  {

  }
}
Run Code Online (Sandbox Code Playgroud)

AbstractClassTest.php

<?php 

require_once 'AbstractClass.php';

use SD\Project\AbstractClass;

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

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

Jer*_*ris 6

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

$stub = $this->getMockForAbstractClass('\SD\Project\AbstractClass');
Run Code Online (Sandbox Code Playgroud)

类似:PHPUnit,接口和命名空间(Symfony2)

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