0
아래의이 함수에서, PDOStatement를 조롱하여 내 함수 loadFromStatement의 매개 변수로 제공하려고합니다. Mockobject가 baseclass의 인스턴스를 반환하지 않습니다.
/**
* @expectedException ObjectNotFoundException
* @expectedExceptionMessage Unable to load site
*/
public function testLoadFromStatementThrowsObjectNotFoundException()
{
$oMockedPDOStatement = $this->getMockBuilder('\PDOStatement')
->setMethods('rowCount')
->getMock();
$oMockedPDOStatement->expects($this->any())->method('rowCount')->will($this->returnValue(0));
SubSiteFactory::loadFromStatement($oMockedPDOStatement);
}
이
함수loadFromStatement
의 서명 경우 :
oMockedPDOStatement
차례로 IllegalArgumentException를 생성하는
MockObject
을 반환하지만
public static function loadFromStatement(\PDOStatement $oStatement, $aPrefixMap = NULL, $iIndex = NULL)
.
왜 oMockedPDOStatement
은 PDOStatement에서 인스턴스를 반환 할 수 없습니까?
당신이'mockBuilder'없이 시도 했습니까해야 하는가? 원하는 클래스의 인스턴스를 반환합니까? –
나와 함께 생각해 주셔서 감사합니다. 해결책을 찾았습니다. 내 대답 아래를 참조하십시오. – sanders