For this case and for testing an Interface I would write at least 3 tests:
protected setUp() {
$this->_object = $this->getMockForAbstractClass(
'PickupPoint_Abstract', array(), '', false
);
}
public function testInstanceOf() {
$this->assertInstanceOf('PickupPoint_Abstract', $this->_object);
}
public function testMethodsExistance() {
$methods = get_class_methods($this->_object);
$this->assertTrue(in_array('getPickupPoints', $methods));
$this->assertTrue(in_array('getPickupPointDetails', $methods));
$this->assertTrue(in_array('__construct', $methods));
}
public function testMethodCount() {
$methods = get_class_methods($this->_object);
/**
* PHPUnit add seven own methods in 3.6.11 + __clone + count of these methods
*/
$this->assertEquals(11, count($methods));
}
With these tests you will prevent typos, check the existance of the required methods and if any new methods will be added, this test will be broken, because the number of methods has changed, and this is the behavior we want.
Well this works fine for me. I always use this tests for interfaces, but i think it can be used for abstract classes to!