getMockBuilder(PDOStatement::class)->getMock(); $statement->method('execute')->willReturn(true); $statement->method('fetch')->willReturn($result1); $statement->method('fetchAll')->willReturn($result2); $statement->method('rowCount')->willReturn(2); $resultSet = new ResultSet($statement); $resultSet->execute(['foo' => 'bar']); $this->assertTrue(true); $this->assertEquals($result1, $resultSet->fetchFirst()); $this->assertEquals($result2, $resultSet->fetchAll()); } }