3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class MyClass { public function doSomething() { return "dneSomething"; } abstract public function doSomethingElse(); } class MyClassTest { public function getMockForAbstractClass($className) { $mockClassName = 'Mock_' . $className; $class = <<<EOF class $mockClassName extends $className { public function doSomethingElse() {} } EOF; eval($class); return new $mockClassName(); } public function testDoSomething() { $object = $this->getMockForAbstractClass('MyClass'); assert('"doneSomething" == "' . $object->doSomething() . '"'); } } $test = new MyClassTest(); $test->testDoSomething();

preferences:
46.42 ms | 402 KiB | 5 Q