getMethod($method); $methodObj->setAccessible(true); return $methodObj->invokeArgs($object, $args); } function testInvalidDataHandling() { $changeset = new CampaignAdminTest_InvalidChangeSet(); $admin = new CampaignAdmin(); $result = $this->callProtectedMethod($admin, 'getChangeSetResource', [$changeset] ); $this->assertEquals('Corrupt database! bad data' , $result['Description']); } } class CampaignAdminTest_InvalidChangeSet extends ChangeSet { function sync() { throw new UnexpectedDataException("bad data"); } }