I have this method that I would like to unit test. Since it's creating the Sql object inside the method, I can't mock it up.
Initially I thought about making Sql be an instance property except that I'd have to reset it every time I use it in other methods and this will most likely lead to hard to debug errors. What's the common pattern for testing these kinds of methods? Thanks, Julian Here's a link to the gist in case this syntax highlighter screws things up: https://gist.github.com/poisa/7898032 public function getConfigFromDb() { if (!is_null($this->configInDb)) { return $this->configInDb; } $sql = new Sql($this->getSlaveDbAdapter()); $select = $sql->select() ->from('languages'); $statement = $sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $results->buffer(); $return = array(); foreach ($results as $r) { $return[] = $r; } $this->configInDb = $return; return $return; }