public function PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php \PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass()
Returns a mock object for the specified abstract class with all abstract methods of the class mocked. Concrete methods to mock can be specified with the last parameter
@since Method available since Release 1.0.0
Parameters
string $originalClassName:
array $arguments:
string $mockClassName:
bool $callOriginalConstructor:
bool $callOriginalClone:
bool $callAutoload:
array $mockedMethods:
bool $cloneArguments:
Return value
object
Throws
PHPUnit_Framework_MockObject_RuntimeException
1 call to PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass()
- PHPUnit_Framework_MockObject_Generator::getMockForTrait in vendor/
phpunit/ phpunit-mock-objects/ src/ Framework/ MockObject/ Generator.php - Returns a mock object for the specified trait with all abstract methods of the trait mocked. Concrete methods to mock can be specified with the `$mockedMethods` parameter.
File
- vendor/
phpunit/ phpunit-mock-objects/ src/ Framework/ MockObject/ Generator.php, line 312
Class
- PHPUnit_Framework_MockObject_Generator
- Mock Object Code Generator
Code
public function getMockForAbstractClass($originalClassName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = array(), $cloneArguments = true) {
if (!is_string($originalClassName)) {
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
}
if (!is_string($mockClassName)) {
throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
}
if (class_exists($originalClassName, $callAutoload) || interface_exists($originalClassName, $callAutoload)) {
$reflector = new ReflectionClass($originalClassName);
$methods = $mockedMethods;
foreach ($reflector
->getMethods() as $method) {
if ($method
->isAbstract() && !in_array($method
->getName(), $methods)) {
$methods[] = $method
->getName();
}
}
if (empty($methods)) {
$methods = null;
}
return $this
->getMock($originalClassName, $methods, $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $cloneArguments);
}
else {
throw new PHPUnit_Framework_MockObject_RuntimeException(sprintf('Class "%s" does not exist.', $originalClassName));
}
}